140 votes

Comment appliquer un style à tous les boutons d'une application Android

J'ai un style appliqué à toute ma candidature :

AndroidManifest.xml :

<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">

Et dans mes styles.xml :

 <style name="ApplicationStyle" parent="android:Theme">
  <item name="android:button">@style/CKButton</item>
 </style>
 <style name="CKButton" parent="android:style/Widget.Button">
  <item name="android:textSize">19sp</item>
  <item name="android:layout_margin">0dip</item>
  <item name="android:background">#ff0000</item>
 </style>

Mais le style ne s'applique pas.

Je suis désolé si je viens d'utiliser le faux nom dans le ApplicationStyle - Item, mais je n'ai aucune idée où chercher les noms d'objets et simplement supposé, que android:button tous les boutons.

216voto

Daniel Lew Points 39063

Pour les styles Android, vous faites référence aux attributs prédéfinis que Android a mis en place dans R.attr. Dans ce cas, il semble que vous souhaitiez référencer android:buttonStyle. Je pense que cela fonctionnerait :

<style name="ApplicationStyle" parent="android:Theme">
  <item name="android:buttonStyle">@style/CKButton</item>
</style>

26voto

STAYER Points 391

Pour le thème Composants matériels, ce serait comme ceci :

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="materialButtonStyle">@style/AppTheme.Button</item>
</style>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X