Appliquer dynamiquement un style à un bouton
Résolu
lamouchetsetse
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, après de nombreuses recherche, je ne parviens pas à comprendre comment attribuer un style à un bouton.
voici mon xml:
et voici mon java:
de cette manière je n'ai que le texte du bouton qui s'affiche, le bouton en lui même ne s'affiche pas.
Merci à tous.
voici mon xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="bouton" parent="@android:style/Widget.Button"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:background">@drawable/bordure_bouton</item> <item name="android:textAllCaps">false</item> <item name="android:layout_centerInParent">true</item> <item name="android:padding">10dp</item> </style> <declare-styleable name="testBouton"> <attr name="tBouton" format="reference"/> </declare-styleable> <style name="appT"> <item name="tBouton">@style/bouton</item> </style> </resources>
et voici mon java:
package fr.test; import android.os.Build; import android.os.Bundle; import android.text.Html; import android.text.Spanned; import android.widget.Button; import android.widget.RelativeLayout; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private RelativeLayout layoutPrincipal = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); layoutPrincipal = findViewById(R.id.layoutPrincipal); Button bouton2 = new Button(this, null, R.attr.tBouton); String textBouton2 = getResources().getString(R.string.cliquezMoi); Spanned t = Html.fromHtml(textBouton2); bouton2.setText(t); layoutPrincipal.addView(bouton2); } }
de cette manière je n'ai que le texte du bouton qui s'affiche, le bouton en lui même ne s'affiche pas.
Merci à tous.
Configuration: Linux / Firefox 78.0
A voir également:
- Custom button android studio
- Style word - Guide
- Style d'écriture a copier coller - Guide
- Comment faire un tableau croisé dynamique - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Nom pour facebook stylé - Guide
5 réponses
Tu peux le faire à la création du bouton
Button button = Button(context, null, 0, R.style.monBouton)
Bonjour,
Pourquoi ne pas créer ton bouton dans le layout XML et lui attribué ton style ?
En fait, tu mélanges 2 notions j'ai l'impression :
- la notion de style pour un composant système
- la personnalisation d'un composant custom
Tu es dans la 1ère catégorie, non ? Si oui, la partie suivante ne sert pas
Pourquoi ne pas créer ton bouton dans le layout XML et lui attribué ton style ?
En fait, tu mélanges 2 notions j'ai l'impression :
- la notion de style pour un composant système
- la personnalisation d'un composant custom
Tu es dans la 1ère catégorie, non ? Si oui, la partie suivante ne sert pas
<declare-styleable name="testBouton"> <attr name="tBouton" format="reference"/> </declare-styleable> <style name="appT"> <item name="tBouton">@style/bouton</item> </style>
Bonjour BrunoCS. En fait, ce que je cherche a faire c'est appliquer un style a un bouton qui est creer en java lors d'un evenement par exemple.
Merci pour ta réponse, effectivement ta solution fonction mais uniquement sur lollipop ou supérieur. En fait, pour mon code, je me suis inspiré de cette méthode:
https://openclassrooms.com/forum/sujet/android-appliquer-un-style-a-un-bouton
Sinon j'ai toujours la possibilité de styler mon bouton java
https://openclassrooms.com/forum/sujet/android-appliquer-un-style-a-un-bouton
Sinon j'ai toujours la possibilité de styler mon bouton java
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question