wake-up-neo.com

So ändern Sie die Textfarbe der Android-Schaltfläche global im Design

Wie kann ich die Textfarbe meiner Buttons ändern?

Ich kann die Hintergrundfarbe wie folgt einstellen:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <item name="colorButtonNormal">@color/buttonColor</item>
</style>

Wie mache ich das für den Button Text?

20
Zapnologica
 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
   <item name="Android:textColor">#yourcolor</item>
    <item name="Android:buttonStyle">@style/ButtonColor</item>
    <item name="colorButtonNormal">@color/buttonColor</item>
</style>



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

Android: textColor Dies sollte Ihnen helfen, die Textfarbe global zu ändern. Ich hoffe das ist hilfreich. Danke

28
Jois

Wenn Sie nur die Textfarbe der Schaltflächen ändern müssen. Sie können das textAppearanceButton-Stilattribut Ihres Hauptdesigns ändern.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorButtonNormal">@color/buttonColor</item>
    <item name="Android:textAppearanceButton">@style/TextAppearance.AppCompat.Button.Custom</item>
</style>

Und deklarieren Sie Ihren neuen TextAppearance-Stil wie folgt

<style name="TextAppearance.AppCompat.Button.Custom">
    <item name="Android:textColor">@color/mycustomcolor</item>
</style>
9
dishan

Für jeden, der darauf stößt, empfehle ich, eine ähnliche Frage zu Material Design Button Styles zu lesen. Mit einem Thema wird Ihre "Akzentfarbe" verwendet, um die Schaltfläche zu färben.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <item name="Android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
    <item name="buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
</style>
8
sschmitz

Mit dem neuen Theme.MaterialComponents Thema können Sie das materialButtonStyle Attribut in definieren Ihr App-Thema.

  <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.MaterialComponents.Light">
    ....

    <item name="materialButtonStyle">@style/MyButtonTheme</item>
  </style>

Auf diese Weise können Sie den Stil aller Schaltflächen in Ihrer App global anpassen. Sie können die Designattribute des Standardstils mit dem Attribut materialThemeOverlay überschreiben.

So etwas wie:

  <style name="MyButtonTheme" parent="Widget.MaterialComponents.Button">
    <item name="materialThemeOverlay">@style/ButtonStyleTextColor</item>
  </style>

  <style name="ButtonStyleTextColor">
    <!-- For filled buttons, your theme's colorPrimary provides the default background color of the component, and -->
    <!--the text color is colorOnPrimary -->
    <item name="colorPrimary">@color/my_color</item>
    <item name="colorOnPrimary">@color/my_color2</item>

  </style>

Derzeit erfordert das Attribut materialThemeOverlay die Version 1.1.0 der Materialkomponenten für die Bibliothek Android=).

implementation 'com.google.Android.material:material:1.1.0-alpha09'
1

Verwenden Sie einfach AppCompatButton, indem Sie dieses Attribut setzen:

"app:backgroundTint="@color/wildberries"

Stellen Sie außerdem sicher, dass Ihre Aktivität AppCompatActivity erweitert. Ich verwende es einfach in meinem Projekt. Es funktioniert wie ein Zauber in 5.X und vor 5.X.

0
Hesam Rastegari