Android自学初步——自定义View(1)之创建初步——Android,UI 绘制
一,了解UI绘制初步
这里我们所说的绘制指的是Android中的view通过API来进行绘制的,当android
中提供的view不能完全满足我们自己业务需求时,我们可以自己进行的绘制。
二,首先我们所需要对象
(1)Canvas (画板对象)
(2)Bitmap (位图)(可以理解为背景对象)
(3)Paint(画笔对象)
(4)Path(路径)
三,基本步骤
(1)构建背景对象(Bitmap)
(2)构建画板对象(Canvas)并关联背景对象
(3)构建画笔对象(Paint)
(4)执行绘制动作(画图)
(5)显示绘制的对象。
这里我们简单的来写一个案例——-绘制一个矩形并添加文字:
其中layout文件中需要一个Button请大家自行定义
其中添加android:onClick=”onclick”
MainActivity中的onclick方法如下:
请看注释:
public void onClick(View v){
//这里创建一个Bitmap对象,获得原有位图对象,我们使用小机器人来当作原有的对象
Bitmap src=BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
//构建Bitmap对象,获取原有位图的宽和高,以及颜色的显示模式
Bitmap bitMap=Bitmap.createBitmap(src.getWidth(),
src.getHeight(), Config.ARGB_8888);
//构建Canvas对象传递bitmap
Canvas c=new Canvas(bitMap);
//设置画布背景色,红色
c.drawColor(Color.RED);
//绘制矩形背景
c.drawRect(0, 0, 200, 200, paint);
//设置画笔颜色,白色
paint.setColor(Color.WHITE);
//设置画的字体的尺寸
paint.setTextSize(30);
String text="helloworld";
//矩形对象
Rect bounds=new Rect();
//获得文本宽度,高度,然后封装到rect对象bounds中
paint.getTextBounds(text,0,text.length(),bounds);
//将绘制居中文本
c.drawText(text,100-bounds.width()/2,100+bounds.height()/2, paint);
//显示绘制的对象
imageView.setImageBitmap(bitMap);
}
结果如下
第一个blog,谢谢大家的支持!!