【问题标题】:Android changing colors with themesAndroid随主题改变颜色
【发布时间】:2010-06-10 12:08:07
【问题描述】:

我正在尝试在我的应用程序中提供用户可设置的颜色。黑色背景上的白色文本和白色背景上的黑色文本。我有多个布局和许多列表视图,包括标准和自定义适配器。人们建议使用主题,但我没有运气在所有布局中更改文本颜色。谁能给我看一个可以做到这一点的实际主题布局?我可以使用 myscreen.setBackGroundColor(xx) 轻松更改背景颜色,但是当我尝试使用主题更改文本时,它也会更改微调器文本。

【问题讨论】:

    标签: android themes


    【解决方案1】:

    使用

        <item name="android:spinnerStyle">@style/StandardSpinner</item>
        <item name="android:spinnerItemStyle">@style/StandardSpinnerItem</item>
        <item name="android:spinnerDropDownItemStyle">@style/StandardSpinnerDropDownItem</item>
    

    在您的主题中,这将覆盖文本样式。

    您的样式将如下所示:

    <style name="StandardSpinner" parent="@android:style/Widget.Spinner">
        <item name="android:background">@drawable/spinner</item>
    </style>
    
    <style name="StandardSpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
        <item name="android:textAppearance">@style/GameDisplayText</item>
        <item name="android:gravity">center_vertical|center_horizontal</item>
    </style>
    
    <style name="StandardSpinnerDropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
        <item name="android:textAppearance">@style/GameDisplayText</item>
    </style>
    

    【讨论】:

      【解决方案2】:

      只是一些额外的信息, 为了将您的主题指向您的应用程序,您需要在 AndroidManifest.xml 中定义它

      例如

      <application android:icon="@drawable/icon" android:label="@string/app_name"    android:theme="@style/Theme">
      

      你应该重用一些默认样式属性,所以将android默认主题声明为你的父主题

      在 values/styles.xml 或您的主题文件的任何位置

      <?xml version="1.0" encoding="utf-8"?>
      <resources>
          <style name="Theme" parent="@android:style/Theme">
               <!-- Widget styles -->
               <item name="android:spinnerStyle">@android:style/Widget.Spinner</item>
               <item name="android:spinnerDropDownItemStyle">@style/Widget.DropDownItem.Spinner</item>
               <item name="android:spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item>
          </style>
      

      【讨论】:

        猜你喜欢
        • 2019-04-19
        • 2020-10-03
        • 1970-01-01
        • 1970-01-01
        • 2019-01-31
        • 1970-01-01
        • 1970-01-01
        • 2016-07-27
        • 2020-04-01
        相关资源
        最近更新 更多