1、自定义属性
命名空间:http://schemas.android.com/apk/res-auto,可以自动找到目录attrs.xml的
res/android是android本身自带;空间名字自己随意起
记不住也不要见,xml自带了一个命名空间,自己记住差别即可

TypeArray获取时的对应的styleable的名字,=declare-styleable 的name属性值
TypeArray获取各种属性值时的styleable名字=declare-styleable 的name属性值+_+attr的name属性值
TypeArray资源使用完毕需要回收

定义属性如下:关键就是format的值,其中reference可以使用资源子,其它的和字面意思一样
也可以多种一起使用,使用|分隔

2、LayoutInflater加载布局
public View inflate(@LayoutResint resource, @Nullable ViewGroup root,boolean attachToRoot)
加载时需要注意测量过程;
如果加载时,没有父布局,此时加载,其margin属性失效,且默认测量大小为组件实际需要大小
如果加载时载入父布局,会按照父布局的限制进行测量;
attachToRoot:一般都是false;这样也有很大的灵活性;如果为true就会attach到父布局,也就是成为子布局吧?
网友评论