【问题标题】:Issues changing the color of views更改视图颜色的问题
【发布时间】:2015-11-01 19:37:19
【问题描述】:

所以我正在尝试将我的应用颜色更改为蓝色,而我拥有的大多数视图都不愿意与我合作。

图片如下:

在这里,我想将微调器、edittext 和复选框视图(绿色)上的绿色部分的颜色更改为黑色或蓝色。 我在 Stack Overflow 上找遍了,找不到解决办法!

非常感谢,如果可能的话,我想要一个 XML 解决方案,但我不介意编程解决方案!

【问题讨论】:

    标签: android colors textview spinner


    【解决方案1】:

    将这些添加到您的base themestyles.xml

         <item name="colorControlNormal">@color/YOUR_COLOR</item>
         <item name="colorControlActivated">@color/YOUR_COLOR</item>
         <item name="colorControlHighlight">@color/YOUR_COLOR</item>
    

    注意:上述更改可能会影响整个应用程序中的 EditText 和其他视图

    如果没有,并且如果您使用的是AppCompat v22 支持库,则可以在EditText 中指定主题,例如:android:theme="@style/Theme.App.Base.
    这将确保样式不会影响布局中您不想更改的其他视图

    此外,如果您想更改上述解决方案,只需添加另一个特定于 EditTexts 和 Spinners 的主题并将其应用于所有 Spinners(如果需要)

    <style name="MyWidgetTheme">
        <item name="colorControlNormal">@color/YOUR_COLOR</item>
        <item name="colorControlActivated">@color/YOUR_COLOR</item>
        <item name="colorControlHighlight">@color/YOUR_COLOR</item>
    </style>
    

    在您的 EditText、Spinner 或任何其他视图中,只需分配此主题:

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Demo"
            android:lines="1"
            android:theme="@style/MyWidgetTheme"
            />
    
        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:theme="@style/MyWidgetTheme"></Spinner>
    

    【讨论】:

    • 嘿!我尝试使用您提到的两种方式,复选框和编辑文本的绿色是固定的,但微调器的背景仍然是绿色! ://
    • 所以微调器在显示时或微调器处于弹出模式时的背景?
    • 对不起,我犯了一个愚蠢的错误。当我为微调器创建适配器时,我为微调器设置了一个资源文件。微调器的颜色在那个资源文件中,我直到现在才看到,谢谢!
    【解决方案2】:

    看看这个resource generator

    选择您的颜色,您想要生成的小部件,瞧!您将它们复制到您的项目并在您的 xml 中引用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多