体育资讯网

您现在的位置是:首页 > 足球教学 > 正文

足球教学

android画画源码(Android 绘制)

hacker2022-06-14 06:16:25足球教学38
本文目录一览:1、android怎么手动绘制几何图形源码

本文目录一览:

android 怎么手动绘制几何图形源码

可以参考下面的代码

 package cn.m15.xys;

import android.app.Activity;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Path;

import android.graphics.RectF;

import android.os.Bundle;

import android.view.View;

public class Geometry extends Activity {

public int mScreenWidth = 0;

public int mScreenHeight = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

setContentView(new GeometryView(this));

super.onCreate(savedInstanceState);

}

class GeometryView extends View {

Paint mPaint = null;

public GeometryView(Context context) {

super(context);

mPaint = new Paint();

mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

//设置画布颜色 也就是背景颜色

canvas.drawColor(Color.WHITE);

mPaint.setColor(Color.BLACK);

canvas.drawText("绘制无规则几何图形喔!!!", 150, 30, mPaint);

//绘制一条线

mPaint.setColor(Color.BLACK);

mPaint.setStrokeWidth(4);

canvas.drawLine(0, 0, 100, 100, mPaint);

//绘制一个矩形

mPaint.setColor(Color.YELLOW);

canvas.drawRect(0, 120, 100, 200, mPaint);

//绘制一个圆形

mPaint.setColor(Color.BLUE);

canvas.drawCircle(80, 300, 50, mPaint);

//绘制一个椭圆

mPaint.setColor(Color.CYAN);

canvas.drawOval(new RectF(300,370,120,100), mPaint);

//绘制多边形

mPaint.setColor(Color.BLACK);

Path path = new Path();

path.moveTo(150+5 , 400 -50);

path.lineTo(150+45, 400 - 50);

path.lineTo(150+30, 460 - 50);

path.lineTo(150+20, 460 - 50);

path.close();

canvas.drawPath(path, mPaint);

}

}

}

Android是什么语言编写?看懂源码.它的开源代码是什么语言?系统源码来说

简单来说 android 是以 linux kernel 内核为基础android画画源码的操作系统android画画源码android画画源码你可以看看 linux kernel 是用什么语言的就可以android画画源码了。

Android开发在画板上画些东西,甩一甩手机实现画板上的东西变成泼墨效果。

画画板实现起来其实很简单,我们只需要利用android给我们提供的Canvas类来操作就可以实现简单的画画功能

直接看代码,注释都写清楚了

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

public class MainActivity extends Activity {

private ImageView iv;

private Bitmap baseBitmap;

private Canvas canvas;

private Paint paint;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.iv = (ImageView) this.findViewById(R.id.iv);

// 创建一张空白图片

baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);

// 创建一张画布

canvas = new Canvas(baseBitmap);

// 画布背景为灰色

canvas.drawColor(Color.GRAY);

// 创建画笔

paint = new Paint();

// 画笔颜色为红色

paint.setColor(Color.RED);

// 宽度5个像素

paint.setStrokeWidth(5);

// 先将灰色背景画上

canvas.drawBitmap(baseBitmap, new Matrix(), paint);

iv.setImageBitmap(baseBitmap);

iv.setOnTouchListener(new OnTouchListener() {

int startX;

int startY;

@Override

public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

// 获取手按下时的坐标

startX = (int) event.getX();

startY = (int) event.getY();

break;

case MotionEvent.ACTION_MOVE:

// 获取手移动后的坐标

int stopX = (int) event.getX();

int stopY = (int) event.getY();

// 在开始和结束坐标间画一条线

canvas.drawLine(startX, startY, stopX, stopY, paint);

// 实时更新开始坐标

startX = (int) event.getX();

startY = (int) event.getY();

iv.setImageBitmap(baseBitmap);

break;

}

return true;

}

});

}

public void save(View view) {

try {

File file = new File(Environment.getExternalStorageDirectory(),

System.currentTimeMillis() + ".jpg");

OutputStream stream = new FileOutputStream(file);

baseBitmap.compress(CompressFormat.JPEG, 100, stream);

stream.close();

// 模拟一个广播,通知系统sdcard被挂载

Intent intent = new Intent();

intent.setAction(Intent.ACTION_MEDIA_MOUNTED);

intent.setData(Uri.fromFile(Environment

.getExternalStorageDirectory()));

sendBroadcast(intent);

Toast.makeText(this, "保存图片成功", 0).show();

} catch (Exception e) {

Toast.makeText(this, "保存图片失败", 0).show();

e.printStackTrace();

}

}

}

简单的布局文件

?

1

2

3

4

5

6

7

8

relativelayout xmlns:android="" xmlns:tools="" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"

button android:id="@+id/button1" android:onclick="save" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:text="保存图片"

imageview android:layout_above="@id/but

android 绘图

这个建议你搜索AChartEngine,这个是专门做报表的。给你一个参考地址

这个页面中的第一个示例折线图就是一个温度的曲线图,具体我没过多研究,你可以试试。

求android源码下载地址,就像学学源码的原理

Google刚刚公布android画画源码,稳定版android画画源码的Android源代码已经公布android画画源码,任何人都可以免费下载。Google希望通过公布源代码,电信运营商和手机制造商,乃至一般开发者们进一步深刻了解和利用Android系统,从而有益于该平台下android画画源码的的发展。

看来T-Mobile G1不一定打得过iPhone,那么Android呢android画画源码

现在源代码公布在,SDK网站是

如何获取android源代码

当前的Android 代码托管在两个方:  和  之前在 android.git.kernel.org 上也有托管,不过现在重定向到了  好在都支持git访问。

google 提供的 repo 工具实际上是一个内部操作git工具来简化操作Android源码的Python脚本。经过尝试,直接使用git 工具在ubuntu 下可以实现clone Android 源码。下面介绍一下方法:

1. 获取当前的在github 上托管的Android git repositories:

github页面为:  。不过这个页面不支持通过 wget "" 或者 curl "" 的方式访问, 错误信息如下:

这样一来,获取这个页面内容并解析出其中的git repositories就需要手工完成了。好在方法也很简单: 浏览器中打开这个页面,然后"查看源文件"并保存为文本文件,比如保存为"android_git.html"。最后,通过下面的一行脚本来取出 Android git repositories.

grep -o "span class=\"repo\".*/span" ./android_git.html | cut -d "" -f2 | cut -d "" -f1  android_git.txt

2. 基于第1步获取的Android git repositories 来生成clone git的脚本:

执行如下的一行awk脚本

awk 'BEGIN{i=1; print "#!/usr/bin/env bash" }{ print "\n\necho \"begin clone android git ["i"]: " $1 "\""; print "git clone 

" $1 ".git"; print "echo \"finish clone android git ["i"]: " $1 "\"" ; i=i+1; }' ./android_git.txt  

git_clone_android.sh

现在用于clone android git的脚本生成好了,一共有 103 个 git repository.

3. 执行git_clone_android.sh这个脚本即可。

整体Android 源码的代码量是相当庞大,完成所有的clone 任务后,大概占用了 7G 磁盘空间,历时20多个小时,这是在网速比较快的情况下达到的效果:

其间也有许多问题,比如多次出现如下的错误:

这个时候需能做的只能是"try again"了。

需要说明的是"不要试图同时并发执行多个git clone 命令",这样会导致大量出现上面贴图中的错误,另外,整个clone过程中耗时最多的git repository 如下:

kernel_common.git kernel_msm.git platform_frameworks_base.git platform_prebuilt.git 其中 platform_prebuilt.git 是google 提供的预编译好的二进制文件,包含: 各种库文件,jar 包,可执行程序等等,如果只是阅读Android 源代码,这个git repository 可以不用clone.

发表评论

评论列表

  • 只酷卿绡(2022-06-14 16:48:20)回复取消回复

    单,我们只需要利用android给我们提供的Canvas类来操作就可以实现简单的画画功能直接看代码,注释都写清楚了?1234567891011121314151617181920212223242526272829303132333435363738394041

  • 痴妓并安(2022-06-14 07:10:07)回复取消回复

    y again"了。需要说明的是"不要试图同时并发执行多个git clone 命令",这样会导致大量出现上面贴图中的错误,另外,整个clone过程中耗时最多的git repository 如下:kernel_common.git kernel_ms

  • 舔夺叹倦(2022-06-14 10:23:54)回复取消回复

    后,大概占用了 7G 磁盘空间,历时20多个小时,这是在网速比较快的情况下达到的效果:其间也有许多问题,比如多次出现如下的错误:这个时候需能做的只能是"try again"了。需要说明的是"不要试图同时并发执行多个git clone 命令",这样会导致大量出现

  • 世味笑惜(2022-06-14 13:10:53)回复取消回复

    canvas.drawLine(startX, startY, stopX, stopY, paint); // 实时更新开始坐标 startX = (int) event.getX();