• 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中的继承关系

      

      

      

    .

      

  • 相关阅读:
    VBS基础篇
    AcWing249 蒲公英(分块)
    CF1338B Edge Weight Assignment(思维+dfs)
    CF785E Anton and Permutation(分块)
    UCF Local Programming Contest 2015(Practice)D题
    AcWing851 spfa求最短路
    CF479E Riding in a Lift (dp)
    AcWing267 莫基亚(CDQ分治)
    P4093 [HEOI2016/TJOI2016]序列 (CDQ分治)
    2019ICPC南昌区域赛C题 And and Pair(数位dp)
  • 原文地址:https://www.cnblogs.com/WJQ2017/p/7617438.html
Copyright © 2020-2023  润新知