千金一刻莫空度,老大无成空自伤。这篇文章主要讲述Android style 继承相关的知识,希望能为你提供帮助。
style作用在单个视图或控件上,抽取共有的属性,实现复用。
style的继承有两种方式:
通过parent标识父style
1 < style name="GreenText" parent="@android:style/TextAppearance"> 2< item name="android:textColor"> #00FF00< /item> 3 < /style>
父style的name作为前缀加“.”连接新style的name
1 < style name="CodeFont.Red"> 2< item name="android:textColor"> #FF0000< /item> 3 < /style>
其中,第2种方式可以无限连接子style实现多层继承。
1 < style name="CodeFont.Red.Big"> 2< item name="android:textSize"> 30sp< /item> 3 < /style>
【Android style 继承】相对第1种,Android对第2种方式做出的限制就是引用的style必须是由自己定义的,或者说父style和子style必须是定义在同一个程序内,不能引用第三方或系统的style。毕竟对于系统的style的引用是需要加上android:前缀作为命名空间。其次在使用style时,对于第2种方式定义的style,必须引用其完全的名字,也就是说必须要包含完整的前缀和名字:
1 < EditText 2style="@style/CodeFont.Red.Big" 3... />
Android对于第1种定义方式并没有限制,所以所有以第2种方式定义的style都可以转成第1种:
1 < style name="Big" parent="CodeFont.Red"> 2< item name="android:textSize"> 30sp< /item> 3 < /style>
当使用parent指定父style后,前缀方式则不再起作用,只是作为style的名字。也就是说,Android的style不支持多继承,只能一层一层地继承。
参考资料
Style在Android中的继承关系
.
推荐阅读
- android IPC 机制 (开发艺术探索)
- H5如何做手机app(移动Web App)?图片轮播()
- Android 按钮的响应点击事件的4种写法
- Android @id和@+id区别
- android ——Tablayout
- APP分析----饿了么
- tcp_wrappersudonsswitchpam
- 启动tomcat以后报Invalid bound statement (not found): com.taotao.mapper.TbItemMapper.selectByExample错误(示例代
- com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题