Canvas 自定义控件 api

Canvas与自定义控件

2019-01-08
6次浏览

大部分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
	}
	
	@Override
	protected?void?onDraw(Canvas?canvas)?{
		//?TODO?Auto-generated?method?stub
		super.onDraw(canvas);
	}
	
}
第二种方式??一般用于游戏开发?这里不做介绍
1.创建SurfaceView对象
2.获取SurfaceHolder方法
3.获取canvas?对象
4.使用canvas绘制图像操作
5.释放canvas锁?并在视图中显示

第三种方式
??????//创建bitmap对象
		Bitmap?bitmap=Bitmap.createBitmap(100,?200,?Config.ARGB_8888);
		//创建canvas对象
		Canvas?canvas=new?Canvas(bitmap);
		//进行绘图操作
		ImageView?image=new?ImageView(this);
		//设置涂片
		image.setImageBitmap(bitmap);




我要点评

本站介绍 合作联络 欢迎投稿 隐私声明 广告业务 网站地图 联系我们 诚聘英才

ICP许可证号:京ICP证070360号 21IC电子网 2000-2018 版权所有

京公网安备 11010802024347号