Canvas与自定义控件

来源:互联网 发布:js array prototype 编辑:程序博客网 时间:2024/06/05 13:28
大部分2D使用的api都在android.graphics和android.graphics.drawable包中 
提供了图形处理相关的:Canvas、ColorFilter、Point(点)、RetcF(矩形)等
提供了动画相关的:AnimationDrawable、BitmapDrawable等
以图形处理来说,我们最常用到的就是在一个View上画一些
图片、形状或者自定义的文本内容,这里我们都是使用
Canvas对象来实现的

Canvas对象三种获取方式
第一种方式
1.编写一个类继承View
2.重写父类构造方法
3.重写ondraw方法获取Convas对象
代码
package com.example.view;import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.view.View;public class MyView extends View{public MyView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);}}
第二种方式  一般用于游戏开发 这里不做介绍
1.创建SurfaceView对象
2.获取SurfaceHolder方法
3.获取canvas 对象
4.使用canvas绘制图像操作
5.释放canvas锁 并在视图中显示
第三种方式 
<pre name="code" class="java"><span style="white-space:pre"></span>      //创建bitmap对象Bitmap bitmap=Bitmap.createBitmap(100, 200, Config.ARGB_8888);//创建canvas对象Canvas canvas=new Canvas(bitmap);//进行绘图操作ImageView image=new ImageView(this);//设置涂片image.setImageBitmap(bitmap);


0 0
原创粉丝点击