【Android开发】图形图像处理技术-常用绘图类之Canvas类
来源:互联网 发布:昆明程序员工资 编辑:程序博客网 时间:2024/05/21 22:22
Canvans类代表画布,通过该类提供的方法,可以绘制各种图形(如矩形、圆形和线条等)。通常情况下,要在Android中绘图,需要先创建一个继承自View类的视图,并且在该类中重写onDraw(Canvas canvas)方法,然后在显示绘图的Activity中添加该视图。
下面通过一个具体的实例来说明如何创建用于绘图的画布。
1.创建一个名称为DrawView的类,继承android.view.View类,并添加构造方法和重写onDraw(Canvas canvas)方法,关键代码如下:
设置布局文件main.xml
res/layout/main.xml:
创建线性布局管理器,然后在里面添加上面创建的自定义视图DrawView:
在上面创建的自定义视图DrawView的onDraw()方法中,添加以下代码,用于绘制一个带阴影的红色矩形
即是:
下面通过一个具体的实例来说明如何创建用于绘图的画布。
1.创建一个名称为DrawView的类,继承android.view.View类,并添加构造方法和重写onDraw(Canvas canvas)方法,关键代码如下:
package com.example.test;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;public class DrawView extends View{/* * 功能:构造方法 * */public DrawView(Context context, AttributeSet attrs) {super(context, attrs);}/* * 功能:重写onDraw方法 * */@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);}}
设置布局文件main.xml
res/layout/main.xml:
创建线性布局管理器,然后在里面添加上面创建的自定义视图DrawView:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tableLayout1" android:orientation="vertical" > <com.example.test.DrawView android:id="@+id/drawView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
在上面创建的自定义视图DrawView的onDraw()方法中,添加以下代码,用于绘制一个带阴影的红色矩形
Paint paint=new Paint();paint.setColor(Color.RED);paint.setShadowLayer(2, 3, 3, Color.rgb(180, 180, 180));canvas.drawRect(40, 40,200,100,paint);
即是:
package com.example.test;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;public class DrawView extends View{/* * 功能:构造方法 * */public DrawView(Context context, AttributeSet attrs) {super(context, attrs);}/* * 功能:重写onDraw方法 * */@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);Paint paint=new Paint();paint.setColor(Color.RED);paint.setShadowLayer(2, 3, 3, Color.rgb(180, 180, 180));canvas.drawRect(40, 40,200,100,paint);}}
效果如图所示
转载请注明出处:http://blog.csdn.net/acmman/article/details/45156381
0 0
- 【Android开发】图形图像处理技术-常用绘图类之Canvas类
- 【Android开发】图形图像处理技术-常用绘图类之Paint类
- Android图形图像之常用绘图类
- Android:图形图像之使用Canvas,Paint绘图
- 【Android开发】图形图像处理技术-Bitmap和BitmapFactory类
- 初学Android,图形图像之使用Canvas,Paint绘图(二十五)
- Android|图形图像之canvas
- 【Android开发】图形图像处理技术-绘制几何图形
- 【Android开发】图形图像处理技术-绘制文本
- 【Android开发】图形图像处理技术-绘制路径
- 【Android开发】图形图像处理技术-绘制图片
- Android图形图像之Canvas,Paint与Path类
- Android学习笔记之图形图像处理技术
- 【Android开发】图形图像处理技术-使用BitmapShader渲染图像
- Android开发--图形图像与动画(一)--Paint和Canvas类
- ANdroid绘图之Canvas
- android绘图之canvas
- 浅谈Android Canvas绘图类
- TCP/IP、TCP、UDP、HTTP、Socket区别与联系
- 浮点型数据
- Posts Tagged 【dfs】Generate Parentheses
- 【内部排序】五:快速排序(Quick Sort)详解与代码
- Android内存泄露优化总结
- 【Android开发】图形图像处理技术-常用绘图类之Canvas类
- UIImageView属性
- WEB服务器与应用服务器的区别
- 3.7
- 安卓--页面跳转,不同窗体传递数据
- 线程练习(两个线程交替运行)
- 3.8
- POJ 3159Candies 栈模拟SPFA
- 黑马程序员-java接口