自定义控件1(自定义属性1)

自定义属性(以SimpleStar为例)

一.在attrs文件中声明自定义属性

Paste_Image.png

1.declare-styleable的 name最好设置成自定义控件的名称,这样就可以可以通过快捷键进行快速跳转
2.注意format 如果attr的值类型为尺寸则要声明为dimmession,不要使用integer哦(如果attr声明的format类型与在布局文件中使用时传入的类型不一定,则在程序运行时,会崩溃:如下


Paste_Image.png

)
3.如果format类型为参考某一资源ID(例如drawable,mipmap下的图片),则声明为reference

二. 在自定义的控件中获取属性

Paste_Image.png

1.TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SimpleStart); 从属性集合attrs中取出自定义styleable SimpleStart的attrs,放入TypeArray数组中
2.使用ta.getXXX获取相应的属性值(如果format为references则使用getResourceId)
注:属性的格式为:declare_styeable的name 下划线 style的name_attr中的name
如SimpleStart_star_width SimpleStar为styeable的name
star_width为attr的name

三.在布局文件中使用自定义属性

Paste_Image.png

1.app:star_width的值也可以设为一个尺寸资源的Id如 app:star_width=“@dimen/star_witdh”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容