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?
<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
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>
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>
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'
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.