Android 设计整个布局的样式

Android 设计整个布局的样式,android,android-layout,android-gui,Android,Android Layout,Android Gui,我有一个用于列表视图中的行的布局。在某些地方,我需要以“浅色”样式显示布局,而在某些地方,我需要以“深色”样式显示布局。我如何使用Android风格、主题等实现这一点 我理解风格的概念,但似乎它们只适用于单一元素。它们允许我定义一组应用于具有样式的元素的属性。我要做的是定义以下属性: 标题文本颜色(应用于TextView1) 字幕文本颜色(应用于TextView2) 背景(应用于父布局) 这是不可能的,所以我正在创建一个主题,这个主题将应用到需要的活动中 创建属性 将可设置样式的属性添加到re

我有一个用于
列表视图中的行的布局。在某些地方,我需要以“浅色”样式显示布局,而在某些地方,我需要以“深色”样式显示布局。我如何使用Android风格、主题等实现这一点

我理解风格的概念,但似乎它们只适用于单一元素。它们允许我定义一组应用于具有样式的元素的属性。我要做的是定义以下属性:

  • 标题文本颜色(应用于
    TextView
    1)
  • 字幕文本颜色(应用于
    TextView
    2)
  • 背景(应用于父布局)
    • 这是不可能的,所以我正在创建一个主题,这个主题将应用到需要的活动中

      创建属性

      将可设置样式的属性添加到
      res/values/attrs.xml
      中,如下所示:

      <declare-styleable name="MyTheme">
          <attr name="titleColor" format="color" />
          <attr name="subtitleColor" format="color" />
          <attr name="backgroundDrawable" format="reference" />
      </declare-styleable>
      
      将风格应用于活动

      AndroidManifest.xml
      中:

      <style name="MyTheme.LightRows">
          <item name="titleColor">@color/black</item>
          <item name="subtitleColor">@color/grey</item>
          <item name="backgroundDrawable">@drawable/cell_bg</item>
      </style>
      
      <activity android:name=".view.activity.LightActivity" 
                android:theme="@style/MyTheme.LightRows" />
      
       android:textColor="?attr/titleColor"