更改视图颜色的问题

Issues changing the color of views

所以我正在尝试将我的应用程序颜色更改为蓝色,但我所拥有的大多数观点都不愿意与我合作。

图片如下:

这里我想将微调器、编辑文本和复选框视图(绿色)上的绿色部分的颜色更改为黑色或蓝色。 我查看了整个 Stack Overflow,但找不到解决方案!

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

看看这个 resource generator

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

将这些添加到 styles.xml

中的 base theme
     <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>