如何更改应用程序中所有按钮的文本颜色?

时间:2018-10-16 10:57:18

标签: android android-button android-theme android-styles

如何更改应用程序中所有按钮的文本颜色?现在唯一的想法就是要做:

  <style name="MyTheme" parent="@android:style/Theme.Material.Light.NoActionBar"> 

    <item name="android:textColor">#ff0000</item>

  </style>

但是我有点担心使用android:textColor缝线不仅会影响按钮

我尝试了一下,但是没用:

  <style name="BBButtonColor" parent="@android:style/Widget.Button">
    <item name="android:textColor">#ff0000</item>
  </style> 

  <style name="BBButtonStyle" parent="@android:style/Widget.Button">
    <item name="android:textColor">#ff0000</item>
  </style> 

  <style name="BBBorderlessButtonStyle" parent="@android:style/Widget.Button">
    <item name="android:textColor">#ff0000</item>
  </style> 


  <style name="MyTheme" parent="@android:style/Theme.Material.Light.NoActionBar"> 

    <item name="android:textAppearanceButton">@style/BBButtonColor</item> 
    <item name="android:buttonStyle">@style/BBButtonStyle</item>
    <item name="android:borderlessButtonStyle">@style/BBBorderlessButtonStyle</item>
    <item name="android:colorButtonNormal">#ff0000</item>

  </style>

主要是我要更改的弹出对话框中按钮的颜色

3 个答案:

答案 0 :(得分:1)

Loki,您可以尝试一下。这应该更改应用程序中所有按钮的颜色。

<style name="BBButtonColor" parent="android:Widget.Button">
    <item name="android:textColor">#FF0000</item>
</style>

您尝试使用@android:style/Widget.Button,而不是android:Widget.Button并进行检查。让我知道这是否有效。

答案 1 :(得分:0)

您应该为按钮创建新样式,如下所示:

<style name="optionsButton">
        <item name="android:layout_width">70dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:background">@color/white</item>
        <item name="android:textColor">@color/black</item>
        <item name="android:textSize">15sp</item>
    </style>

现在,您可以为布局xml中所需的每个按钮设置此样式,例如:

                <Button
                android:id="@+id/payCashBtn"
                style="@style/optionsButton"
                android:text="Cash" />

您可以看到我在样式中设置了layout_width和height,所以我所有使用此样式的按钮都将具有相同的参数,但是可以为每个按钮设置不同的值,或者如果多次使用,则可以创建多个样式。希望对您有帮助。

答案 2 :(得分:0)

您可以尝试以下方法:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:buttonStyle">@style/ButtonColor</item>
    <item name="colorButtonNormal">@color/colorname</item>
</style>

<style name="ButtonColor" parent="@android:style/Widget.Button">
    <item name="android:textColor">@color/colorname</item>
</style>

和//更改清单文件中的这一行:

android:theme="@style/AppTheme.Base