自定义控件的的步骤
2016-01-23 17:00
288 查看
自定义控件的的步骤
自定义属性的声明和获取 在构造方法中获取分析需要的自定义属性 如
<?xml version="1.0" encoding="utf-8"?> <resources> <attr name="icon" format="reference"></attr> <attr name="color" format="color"></attr> <attr name="text_size" format="dimension"></attr> <declare-styleable name="changes"> <attr name="icon"></attr> <attr name="color"></attr> <attr name="text_size"></attr> </declare-styleable> </resources>
在res/values/attrs.xml中声明自定义属性
在layout.xml文件中使用
在view的构造方法中获取自定义属性。
TypeArray arr= context.obtainStyledAttributes(attrs,R.styleable.changes)
测量onMeasure 测量由两个数值决定
- 测量的模式 测量的模式分为三种
- EXACTLY 传入明确的数值或者是match-parent
- AT_MOST 至多不能超过某个值,一般出现在设置wrap-content的值中 最大值不能超过父控件
- UNSPECIFIED 没有限制, 出现在scrollview 或者listview中
- 测量的值
- MeasureSpec 测量辅助类,可以获取view的测量模式和size
布局onLayout
- 决定view的显示位置
- 尽可能的将onMeasure中耗时操作移动到此方法中
- requestLayout 触发布局的显示
绘制 onDraw 绘制内容区域。 显示内容。
invalidate()通知重绘
postInvalidate()在子线程中调用
一般情况下,自定义viewgroup不需要考虑onDraw方法
onTouchEvent 处理事件
onInterceptEvent(ViewGroup)事件分发处理
相关文章推荐
- mysql 5.6.28 源码安装
- 交换两个数
- PHP JSON取数据
- MySQL分布式XA事务
- 关于TCP粘包和半包的处理
- leetcode219. Contains Duplicate II
- 页面自动跳转----后台传递url
- CSS的font-size属性
- CDUESTC 2016 假期赛1 A题
- C语言 百炼成钢12
- 设计模式——结构型模式
- Android Exception总结
- java数据库连接JDBC
- mysql更新记录时设置自动更新时间戳
- atomic 学习记录
- 漫漫之路 cell的工厂模式
- ZBarReaderView (转)
- Java面试题全集
- 初识 GTK
- 虚拟化技术学习(一)在VMware虚拟机中安装KVM