简介

Android的样式(Style)和主题(Theme)文件就好比WEB开发中的CSS一样,可以实现UI界面的风格统一管理,这和Windows平台的XAML格式(Silverlight、WPF)类似。比如我们遇到特殊的节日我们只需变更我们的Style和Theme就可以切换一种新的Style和Theme。还有现有的一些应用提供我们可以自定义UI风格,就是应用的这个原理。Android的主题样式文件存储在res\values目录下,如res\values\styles.xml。

样式(Style)

Style我们可以应用到单个组件或者一类组件,比如我们可以设置组件的字体、颜色等。

下面的文件就是Android SDK(Version16)提供的一个Style文件片段(详细文件在:\android-sdk\platforms\android-16\data\res\values\styles.xml),如下所示我们可以看到系统的各个控件的默认的样式风格

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Global Theme Styles -->
    <eat-comment />
    
    <style name="WindowTitleBackground">
        <item name="android:background">@android:drawable/title_bar</item>
    </style>

    <style name="WindowTitle">
        <item name="android:singleLine">true</item>
        <item name="android:textAppearance">@style/TextAppearance.WindowTitle</item>
        <item name="android:shadowColor">#BB000000</item>
        <item name="android:shadowRadius">2.75</item>
    </style>
     
    <style name="Widget.EditText">
        <item name="android:focusable">true</item>
        <item name="android:focusableInTouchMode">true</item>
        <item name="android:clickable">true</item>
        <item name="android:background">?android:attr/editTextBackground</item>
        <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
        <item name="android:textColor">?android:attr/editTextColor</item>
        <item name="android:gravity">center_vertical</item>
    </style>
    
    <style name="Widget.ExpandableListView" parent="Widget.ListView">
        <item name="android:groupIndicator">@android:drawable/expander_group</item>
        <item name="android:indicatorLeft">?android:attr/expandableListPreferredItemIndicatorLeft</item>
        <item name="android:indicatorRight">?android:attr/expandableListPreferredItemIndicatorRight</item>
        <item name="android:childDivider">@android:drawable/divider_horizontal_dark_opaque</item>
    </style>
    
    <style name="Widget.ImageButton">
        <item name="android:focusable">true</item>
        <item name="android:clickable">true</item>
        <item name="android:scaleType">center</item>
        <item name="android:background">@android:drawable/btn_default</item>
    </style>
   
    <style name="Widget.WebView">
        <item name="android:focusable">true</item>
        <item name="android:focusableInTouchMode">true</item>
        <item name="android:scrollbars">horizontal|vertical</item>
    

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2022-12-23
  • 2021-06-02
  • 2021-11-04
  • 2021-08-13
猜你喜欢
  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-01-25
  • 2022-12-23
  • 2021-12-12
  • 2021-12-13
相关资源
相似解决方案