自定义View
2015-08-20 22:48
225 查看
下面就开始来讲一下我的理解
自定义View是去继承View,系统提供的控件很多时候都达不到我们想要的要求,自定义View就可以做到
一般要重写两个方法onMrasure(),onDraw()两个方法
View本身的大小由onMeasure()决定
如何绘制View,View是什么样子的,由onDraw()决定
下面是自定义View的步骤:
1.自定义属性
2.在构造方法中得到自定义的属性
3.重写onMeasure(),onDraw()有时onMeasure()是不重写的,onDraw()方法必须重写,不然就没界面了
重写onDraw()呢比较简单的,主要看你要做出什么个形状
Paint mPaint = new Paint(); //得到画笔的实例对象 ,再设置一些基本的
mPaint.setStrokeWidth(4); //设置空心线宽,我的理解是中心是空的,线宽为4
mPaint.setStyle(Paint.Style.STROKE); //设置画笔为空心
mPaint.setColor(Color.CYAN); //设置画笔颜色,也就是外框颜色
canvas.drawRect(a,b,c,d, mPaint); //绘制矩形 abcd参数为左上右下(分别为坐标,y坐标)
canvas.drawArc();//为画圆弧 ,还需要画什么一个个往下画即可
在Activity中使用时,在layout的xml文件中以带包的类名作标签
自定义View是去继承View,系统提供的控件很多时候都达不到我们想要的要求,自定义View就可以做到
一般要重写两个方法onMrasure(),onDraw()两个方法
View本身的大小由onMeasure()决定
如何绘制View,View是什么样子的,由onDraw()决定
下面是自定义View的步骤:
1.自定义属性
2.在构造方法中得到自定义的属性
3.重写onMeasure(),onDraw()有时onMeasure()是不重写的,onDraw()方法必须重写,不然就没界面了
重写onDraw()呢比较简单的,主要看你要做出什么个形状
Paint mPaint = new Paint(); //得到画笔的实例对象 ,再设置一些基本的
mPaint.setStrokeWidth(4); //设置空心线宽,我的理解是中心是空的,线宽为4
mPaint.setStyle(Paint.Style.STROKE); //设置画笔为空心
mPaint.setColor(Color.CYAN); //设置画笔颜色,也就是外框颜色
canvas.drawRect(a,b,c,d, mPaint); //绘制矩形 abcd参数为左上右下(分别为坐标,y坐标)
canvas.drawArc();//为画圆弧 ,还需要画什么一个个往下画即可
在Activity中使用时,在layout的xml文件中以带包的类名作标签
相关文章推荐
- 软件开发流程
- 数据持久化--数据存储到本地
- C++对象模型——异常处理 (Exception Handling)(第七章)
- Core Data理论上初步了解
- Struts2+Spring+Ibatis集成合并
- DHCP
- Androd的IPC通信(二)
- 我的金工实习心得(五):金属工艺学实习(金工实习)小结
- MJExtension用法
- 正则表达式
- java enum(枚举)使用详解 + 总结
- HTML【1】的学习,实用编程+代码
- 网页视图 UIWebView
- 辛星浅析PL/pgsql语法(上)
- QT下的几种透明效果
- TreeMap
- [Android]通过js方法回调部分native报错 Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'
- HDU 4035Maze(树状+概率dp,绝对经典)
- NOIP2010-普及组复赛-第一题-数字统计
- 利害唯己,谁贵谁贱