Android默认按钮颜色 [英] Android default button color
问题描述
当我打开一个新的android studio项目时,按钮的默认颜色为紫色.我希望默认颜色为灰色默认按钮颜色(我想您知道我的意思).我试图通过xml和java更改颜色,但没有任何效果.我希望默认按钮颜色为灰色,而不必每次都更改.
When I open a new android studio project, the default color for button is purple. I want the default color to be the gray default button color(I assume you know what I mean). I tried to change the color via xml and java and nothing worked. I want that the default button color will be gray without I'd have to change it every time.
themse.xml:
themse.xml:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.HangmanGame" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
themes.xml(晚上)
themes.xml(night)
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.HangmanGame" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
推荐答案
由于您使用的是 Theme.MaterialComponents.*
主题,因此的默认背景色> Button
(由 MaterialButton
替换)是应用主题中定义的 colorPrimary
.
就您而言:
Since you are using a Theme.MaterialComponents.*
theme the default background color of the Button
(which is replaced by a MaterialButton
) is the colorPrimary
defined in your app theme.
In your case:
<item name="colorPrimary">@color/purple_500</item>
您可以更改此值(但这会影响所有小部件).
You can change this value (but this will affect all widgets).
如果要全局更改应用程序中的按钮样式,还可以在应用程序主题中添加 materialButtonStyle
属性:
If you want to change globally the button style in your app you can also add the materialButtonStyle
attribute in your app theme:
<style name="Theme.HangmanGame" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="materialButtonStyle">@style/Widget.App.Button</item>
</style>
具有:
<style name="Widget.App.Button" parent="Widget.MaterialComponents.Button">
<item name="backgroundTint">@color/...</item>
</style>
如果只想在按钮中更改此颜色,则还可以使用 app:backgroundTint
属性删除 android:background
属性:
If you want to change this color only in the button you can use also the app:backgroundTint
attribute removing the android:background
attribute:
<Button
app:backgroundTint="@color/..."/>
如果您想使用 android:background
属性使用自定义背景,则必须添加 app:backgroundTint ="@ null"
以避免按钮被着色.
If you want to use a custom background using the android:background
attribute you have to add app:backgroundTint="@null"
to avoid that the button is tinted.
这篇关于Android默认按钮颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!