自定义view(视图类)
2015-08-08 17:07
459 查看
Canvas(画布)类
画笔属性设置好之后,还需要将图像绘制到画布上。Canvas类可以用来实现各种图形的绘制工作,如绘制直线、矩形、圆等等。Canvas绘制常用图形的方法如下:
绘制直线:canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint);
绘制矩形:canvas.drawRect(float left, float top, float right, float bottom, Paint paint);
绘制圆形:canvas.drawCircle(float cx, float cy, float radius, Paint paint);
绘制字符:canvas.drawText(String text, float x, float y, Paint paint);
绘制图形:canvas.drawBirmap(Bitmap bitmap, float left, float top, Paint paint);
4.自定义View的基本实现方法
首先,我们需要自定义一个类,比如MyView,继承于View类。然后,复写View类的onDraw()函数。
public class MyView extends View {
Context m_context;
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
m_context=context;
}
//重写OnDraw()函数,在每次重绘时自主实现绘图
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//设置画笔基本属性
Paint paint=new Paint();
paint.setAntiAlias(true);//抗锯齿功能
paint.setColor(Color.RED); //设置画笔颜色
paint.setStyle(Style.FILL);//设置填充样式 Style.FILL/Style.FILL_AND_STROKE/Style.STROKE
paint.setStrokeWidth(5);//设置画笔宽度
paint.setShadowLayer(10, 15, 15, Color.GREEN);//设置阴影
//设置画布背景颜色
canvas.drawRGB(255, 255,255);
//画圆
canvas.drawCircle(190, 200, 150, paint);
}
}
画笔属性设置好之后,还需要将图像绘制到画布上。Canvas类可以用来实现各种图形的绘制工作,如绘制直线、矩形、圆等等。Canvas绘制常用图形的方法如下:
绘制直线:canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint);
绘制矩形:canvas.drawRect(float left, float top, float right, float bottom, Paint paint);
绘制圆形:canvas.drawCircle(float cx, float cy, float radius, Paint paint);
绘制字符:canvas.drawText(String text, float x, float y, Paint paint);
绘制图形:canvas.drawBirmap(Bitmap bitmap, float left, float top, Paint paint);
4.自定义View的基本实现方法
首先,我们需要自定义一个类,比如MyView,继承于View类。然后,复写View类的onDraw()函数。
public class MyView extends View {
Context m_context;
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
m_context=context;
}
//重写OnDraw()函数,在每次重绘时自主实现绘图
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//设置画笔基本属性
Paint paint=new Paint();
paint.setAntiAlias(true);//抗锯齿功能
paint.setColor(Color.RED); //设置画笔颜色
paint.setStyle(Style.FILL);//设置填充样式 Style.FILL/Style.FILL_AND_STROKE/Style.STROKE
paint.setStrokeWidth(5);//设置画笔宽度
paint.setShadowLayer(10, 15, 15, Color.GREEN);//设置阴影
//设置画布背景颜色
canvas.drawRGB(255, 255,255);
//画圆
canvas.drawCircle(190, 200, 150, paint);
}
}
相关文章推荐
- Java学习笔记------BufferedLine类的readLine()方法 使用须知
- poj3104 Drying(二分)
- 毕业六年IT总结之一
- hdu5358
- PhotoShop 历史记录画笔工具的局部状态修饰功能
- gitlab安装部署
- maven pom.xml配置文件出错原因及解决办法
- 今天开始做战斗,回合制战斗代码实现第一篇,从头开始,简单的2d回合制游戏
- Android中使用Build获取当前系统SDK版本
- 机房收费系统(一)——MSFlexGrid控件
- hpu 1897 CZY找句子
- 布尔(bool)全排列
- JVM内存管理
- VC获取屏幕分辨率大小
- 结构体内嵌一级指针
- Linux LVM 磁盘管理
- 梯度下降(批量&随机)和非负矩阵分解
- linux下vi命令大全
- Allegro中设置开窗的方法 Allegro中设置开窗的方法
- C、C++用指针引用的差异