Android Styles 使用详解

来源:互联网 发布:内外网络切换器软件 编辑:程序博客网 时间:2024/06/13 06:38

Android theme的定义

  • Theme 的定义attrs
    在 attrs.xml 文件中定义。
    Theme定义路径
    <declare-styleable name="Theme">        <attr name="isLightTheme" format="boolean" />
  • 定义了一些属性(大小,颜色,引用,布尔),有的是Style。
        <attr name="panelMenuIsCompact" format="boolean" />        <attr name="panelMenuListWidth" format="dimension" />        <attr name="panelMenuListTheme" format="reference" />        <!-- Default AbsListView style. -->        <attr name="absListViewStyle" format="reference" />        <!-- Default AutoCompleteTextView style. -->        <attr name="autoCompleteTextViewStyle" format="reference" />        <!-- Default Checkbox style. -->

Theme 的实例化

  • 定义完了该赋值了。
    赋值路径:
    根Theme
 <style name="Theme">        <item name="isLightTheme">false</item>        <item name="colorForeground">@color/bright_foreground_dark</item>        <item name="colorForegroundInverse">@color/bright_foreground_dark_inverse</item>        <item name="colorBackground">@color/background_dark</item>        <item name="colorBackgroundFloating">?attr/colorBackground</item>        <item name="colorBackgroundCacheHint">?attr/colorBackground</item>

应用

当然是给某个属性赋值了:

    <style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">        <item name="tabIndicatorColor">?attr/colorAccent</item>        <item name="tabIndicatorHeight">0dp</item>        <item name="tabPaddingStart">12dp</item>        <item name="tabPaddingEnd">12dp</item>        <item name="tabBackground">@color/tab_bgcolor</item>        <item name="tabSelectedTextColor">?android:textColorPrimary</item>

item name=”tabSelectedTextColor”>@android:color/background_dark

这个“tabSelectedTextColor”的值 从哪获得?
文件路径:
Android sdk  platforms 路径下确定的值
值为:
值为


item name=”tabIndicatorColor”>attr/colorAccent

文件路径:
声明的地方!!!!!
值为: 注意使用的是声明,不是确切的值。


item name=”tabSelectedTextColor”>?android:textColorPrimary

声明的地方就是Theme 定义的地方:
Theme定义路径
值为: 注意使用的是声明,不是确切的值。
使用的也是声明!!!!


可以确定使用@ 和? 的区别了。

@是明确的值。 可以使用系统定义的值,也可以是自定义的。
? 表示预定义。这个值是由Theme 或者 Style 决定的。

0 0
原创粉丝点击