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>

  

  相对第1种,Android对第2种方式做出的限制就是引用的style必须是由自己定义的,或者说父style和子style必须是定义在同一个程序内,不能引用第三方或系统的style。毕竟对于系统的style的引用是需要加上android:前缀作为命名空间。其次在使用style时,对于第2种方式定义的style,必须引用其完全的名字,也就是说必须要包含完整的前缀和名字:

1 <EditText
2     style="@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中的继承关系

  

  

  

.

  

转载于:https://www.cnblogs.com/WJQ2017/p/7617438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值