Changer de theme de façon dynamique
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 -
A voir également:
- Changer de theme de façon dynamique
- Changer dns - Guide
- Tableau croisé dynamique - Guide
- Changer de carte graphique - Guide
- Changer clavier qwerty en azerty - Guide
- Changer wifi chromecast - Guide
6 réponses
Bonjour,
Bien sûr, c'est possible de le faire, la doc
Bien sûr, c'est possible de le faire, la doc
public void onCreate(Bundle savedInstanceState) { setTheme(android.R.style.Theme); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
merci brunoCS je connaissais cette possibilité, mais comment faire si ma vue contient plusieurs layout comme ceci par exemple:
et que je ne veuille changer le style que d'un seul layout en fonction du choix de l'utilisateur?
j'avais penser à créer un Intent pour sauvegarder le chois de l'utilisateur, puis de redémarrer l'activité ensuite en récupérant ces choix. Mais je ne pense vraiment pas que ce soit la meilleur façon de faire.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/layout1" android:theme="@style/fondBleu"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv1"/> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/layout2" android:theme="@style/fondBleu"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv2"/> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/layout3" android:theme="@style/fondBleu"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv3"/> </RelativeLayout> </linearLayout>
et que je ne veuille changer le style que d'un seul layout en fonction du choix de l'utilisateur?
j'avais penser à créer un Intent pour sauvegarder le chois de l'utilisateur, puis de redémarrer l'activité ensuite en récupérant ces choix. Mais je ne pense vraiment pas que ce soit la meilleur façon de faire.
Un thème s'utilise sur l'app ou sur une Activity en globalité. Ce que tu veux, c'est changer le style d'une partie de l'écran ? Tu vas être obligé de recharger l'écran car le style s'applique au constructeur du composant graphique
TextView(this, null, 0, R.style.style)
j'avais penser à créer un Intent pour sauvegarder le chois de l'utilisateur, puis de redémarrer l'activité ensuite en récupérant ces choix. Mais je ne pense vraiment pas que ce soit la meilleur façon de faire.Si, ça me parait bien. Sinon, l'autre solution est de supprimer toutes les vues et de les recréer une par une...
Merci Bruno pour ces explications. Une dernière ptite question pour la route,
j'ai créer une ListView qui est générée à partir d'un class qui dérive de BaseAdapter
est -il possible d'appliquer un style différent pour chaque RelativeLayout?
j'ai créer une ListView qui est générée à partir d'un class qui dérive de BaseAdapter
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/monRelativeLayout" android:theme="@style/fondBleu"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/monBouton"/> </RelativeLayout> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listeTheme"/> </LinearLayout>
est -il possible d'appliquer un style différent pour chaque RelativeLayout?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question