您的位置:首页 > 其它

自定义控件的的步骤

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)事件分发处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: