Au moment de l'exécution, vous savez quel style vous voulez donner à votre bouton. Ainsi, à l'avance, dans le dossier layout, vous pouvez avoir tous les boutons prêts à l'emploi avec les styles dont vous avez besoin. Ainsi, dans le dossier layout, vous pouvez avoir un fichier nommé : button_style_1.xml. Le contenu de ce fichier pourrait ressembler à ceci
<?xml version="1.0" encoding="utf-8"?>
<Button
android:id="@+id/styleOneButton"
style="@style/FirstStyle" />
Si vous travaillez avec des fragments, alors dans onCreateView vous gonflez ce bouton, comme :
Button firstStyleBtn = (Button) inflater.inflate(R.layout.button_style_1, container, false);
où container est le conteneur ViewGroup associé à la méthode onCreateView que vous surchargez lors de la création de votre fragment.
Vous avez besoin de deux autres boutons de ce type ? Vous les créez comme ceci :
Button secondFirstStyleBtn = (Button) inflater.inflate(R.layout.button_style_1, container, false);
Button thirdFirstStyleBtn = (Button) inflater.inflate(R.layout.button_style_1, container, false);
Vous pouvez personnaliser ces boutons :
secondFirstStyleBtn.setText("My Second");
thirdFirstStyleBtn.setText("My Third");
Ensuite, vous ajoutez vos boutons personnalisés et stylisés au conteneur de mise en page que vous avez également gonflé dans la méthode onCreateView :
_stylizedButtonsContainer = (LinearLayout) rootView.findViewById(R.id.stylizedButtonsContainer);
_stylizedButtonsContainer.addView(firstStyleBtn);
_stylizedButtonsContainer.addView(secondFirstStyleBtn);
_stylizedButtonsContainer.addView(thirdFirstStyleBtn);
Et c'est ainsi que vous pouvez travailler dynamiquement avec des boutons stylisés.