<转载>Android通过onDraw实现在View中绘图操作

本文介绍了一个简单的Android应用程序,该应用通过自定义视图(MyView)实现了基本的图形绘制功能,包括绘制实心和空心矩形、文字以及加载并显示图片资源。
01.public class AndroidTest extends Activity {  
02.    /** Called when the activity is first created. */  
03.    @Override  
04.    public void onCreate(Bundle savedInstanceState) {  
05.        super.onCreate(savedInstanceState);  
06.          
07.        MyView mv = new MyView(this);  
08.        setContentView(mv);  
09.    }  
10.      
11.    public class MyView extends View {  
12.  
13.        MyView(Context context) {  
14.            super(context);  
15.        }  
16.          
17.        @Override  
18.        protected void onDraw(Canvas canvas) {  
19.            // TODO Auto-generated method stub  
20.            super.onDraw(canvas);  
21.              
22.            // 首先定义一个paint   
23.            Paint paint = new Paint();   
24.  
25.            // 绘制矩形区域-实心矩形   
26.            // 设置颜色   
27.            paint.setColor(Color.BLUE);   
28.            // 设置样式-填充   
29.            paint.setStyle(Style.FILL);   
30.            // 绘制一个矩形   
31.            canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);   
32.  
33.            // 绘空心矩形   
34.            // 设置颜色   
35.            paint.setColor(Color.RED);   
36.            // 设置样式-空心矩形   
37.            paint.setStyle(Style.STROKE);   
38.            // 绘制一个矩形   
39.            canvas.drawRect(new Rect(10, 10, 100, 30), paint);   
40.  
41.            // 绘文字   
42.            // 设置颜色   
43.            paint.setColor(Color.GREEN);   
44.            // 绘文字   
45.            canvas.drawText("Hello", 10, 50, paint);   
46.  
47.            // 绘图   
48.            // 从资源文件中生成位图   
49.            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);   
50.            // 绘图   
51.            canvas.drawBitmap(bitmap, 10, 60, paint);   
52.        }  
53.          
54.    }  
55.}  


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值