Android绘图操作onDraw

简介: 做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。不错,Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的 Canvas。
+关注继续查看

做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。不错,Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的 Canvas。不同的时,Android里没有Graphics,而用 Paint代之,当然用法也稍有不同。以下是自定义View的一段代码: 
@Override 
public void onDraw(Canvas canvas) { 
// 首先定义一个paint 
Paint paint = new Paint(); 
// 绘制矩形区域-实心矩形 
// 设置颜色 
paint.setColor(Color.WHITE); 
// 设置样式-填充 
paint.setStyle(Style.FILL); 
// 绘制一个矩形 
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint); 
// 绘空心矩形 
// 设置颜色 
paint.setColor(Color.RED); 
// 设置样式-空心矩形 
paint.setStyle(Style.STROKE); 
// 绘制一个矩形 
canvas.drawRect(new Rect(10, 10, 50, 20), paint); 
// 绘文字 
// 设置颜色 
paint.setColor(Color.GREEN); 
// 绘文字 
canvas.drawText(str, 30, 30, paint); 
// 绘图 
// 从资源文件中生成位图 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
// 绘图 
canvas.drawBitmap(bitmap, 10, 10, paint); 

以上需要注意的有三点: 
1、Android中的Rect和java中的可能稍有区别,前两个参数是左上角的坐标,后两个参数是右下角的坐标(不是宽度和高度); 
2、Style.STROKE和Style.FILL外边的像素数是有区别的,这点和java里一样; 
3、绘文字时,设置的坐标点为(30,30),但绘出来后你会发现,文字的左上角坐标要比你设置的偏上,不知道是android设置的bug,还是我们有理解到坐标点的意义。

Android绘图操作onDraw | 自由库 http://www.ziyouku.com/archives/android-operating-ondraw-drawing.html

相关文章
|
JavaScript 安全 测试技术
《Android应用开发攻略》——2.3 作为“单例”访问Android应用程序对象
本节书摘来自华章计算机《Android应用开发攻略》一书中的第2章,第2.3节,作者:(美)达尔文(Darwin, I. F.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
925 0
|
Java Android开发
【android】 应用结构分析
1.AndroidManifest.xml 类似于java程序中的manifest.mf。是一个程序清单。描述了程序的入口以及依赖等。 此文件还描述了程序所需的权限,如拨打电话的权限、使用相机的权限等。 2.Activity activity是程序中负责与用户交互的组件。 2.1常用方法 onCreate(Bundle savedInstanceState) 当第一次创建ac
1075 0
|
Java Android开发 搜索推荐
|
前端开发 Android开发 iOS开发
|
前端开发 Android开发
Android学习之绘图入门
Android的绘图继承于View组件,重写onDraw(Canvas canvas) 方法时涉及一个绘图API: Canvas 代表了依附于指定View的画布,并且提供了很多绘制方法。 Canvas提供的方法还涉及一个API: Paint ,Paint代表了Canvas上的画笔,主要用于设置绘制风格,画笔颜色,粗细,填充风格等。 Path代表任意多条直线连接而成的任意图形,当Canv
1104 0
|
Android开发 iOS开发 开发者
|
存储 Android开发
android 获取非系统应用
引用:http://www.cnblogs.com/mainroadlee/archive/2011/05/23/android_get_installed_app.html Android 菜市场上有一款应用较 ShareApp,可以显示,管理,分享Android手机上安装的应用。
1110 0
相关产品
云迁移中心
推荐文章
更多