Android绘图操作onDraw

做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

时间: 2024-10-08 03:33:13

Android绘图操作onDraw的相关文章

Android 通过onDraw实现在View中绘图操作的示例

以下是对Android通过onDraw实现在View中绘图操作的示例代码进行了详细的分析介绍,需要的朋友可以过来参考下   Android绘图操作,通过继承View实现,在onDraw函数中实现绘图.下面是一个简单的例子: 复制代码 代码如下: public class AndroidTest extends Activity {     /** Called when the activity is first created. */     @Override     public void

Android 通过onDraw实现在View中绘图操作的示例_Android

Android绘图操作,通过继承View实现,在onDraw函数中实现绘图.下面是一个简单的例子: 复制代码 代码如下: public class AndroidTest extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(save

Android群英传笔记——第六章:Android绘图机制与处理技巧

Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效率也确实有点低了,自己还要加把劲,争取四月底全部看完,第六章讲的是Android的绘图机制,应该算是比较核心的东西了,不管什么功能,最终都是以图形的方式呈现给用户的,因此,掌握Android的绘图技巧,可以在让你设计应用的时候更加的随心所欲,对Android的理解更高 基本的绘图方法,相信读者都已经

Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解

Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆形,三角形,多边形等-. 新建一个项目 然后我们创建一个listview,每个图案一个Activity,这样看起来是不是很顺眼 <ListView android:id="@+id/listview" android:layout_width="wrap_content&q

Android绘图机制(三)——自定义View的实现方式以及半弧圆新控件

Android绘图机制(三)--自定义View的三种实现方式以及实战项目操作 在Android绘图机制(一)--自定义View的基础属性和方法 里说过,实现自定义View有三种方式,分别是 1.对现有的控件进行扩展 2.通过组件来实现新的控件 3.重写View来实现全新的控件 所以本节就来带大家把这个流程走一遍,我们用到的项目还是 Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 本节现在就是做一个真正意义上的自定义View的操

Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美

Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目很急,个人能力也有限,所以就在网上找到一些开源的框架使用,不是MPAndroidChart,也不是AChartEngine ,而是HelloCharts 开源地 址:https://github.com/lecho/hellocharts-android 这次主要是翻译了一些注释和简化了一下项目的结

Android绘图机制(一)——自定义View的基础属性和方法

Android绘图机制(一)--自定义View的基础属性和方法 自定义View看起来,确实看起来高深莫测,很多Android开发都不是特别在行这一块,这里面的逻辑以及一些绘画都是有一点难的,说一下我目前的状况吧,结束了一个项目,现在接手一个新的项目,老项目的时候自己确实花了点时间去研究,包括看一些相关的博文和数据,新项目的自定义View更多,现在大致的对自定义View有了一些了解,但是你要说我会呢?我确实还没有掌握,只不过我把 我画的一些柱形图和其他图 的想法写出来,当然,你要让我说原理我肯定说

Android绘图常用方法汇总

Android绘图常用方法有哪些,下面一一为大家列举: 1.有关画笔(Paint)的方法 Paint mPaint= new Paint(); mPaint.setAntiAlias(true); // 消除锯齿 mPaint.setStrokeWidth(mCircleWidth); // 设置圆环的宽度 mPaint.setStrokeCap(Paint.Cap.ROUND); // 定义线段断点形状为圆头 mPaint.setAntiAlias(true); // 消除锯齿 mPaint.

Android网络操作常用的两个类

Android SDK集成了Apache HttpClient模块.要注意的是,这里的Apache HttpClient模块是 HttpClient 4.0(org.apache.http.*),而不是常见的 Jakarta Commons HttpClient 3.x (org.apache.commons.httpclient.*). HttpClient常用 HttpGet和HttpPost这两个类,分别对应Get方式和Post方式. 无论是使用HttpGet,还是使用HttpPost,都