Dans des cas particuliers, je dois supprimer le thème de dialogue de mon activité, mais cela ne semble pas fonctionner. Voici un exemple
Première activité:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
Deuxième activité:
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme);
setContentView(R.layout.activity_second);
}
Extrait du manifeste:
<activity android:name="SecondActivity" android:theme="@android:style/Theme.Dialog"></activity>
Quand je cours, c'est toujours le thème du dialogue.
API10
Merci.
La réponse de user1462299 fonctionne très bien, mais si vous incluez des fragments , ils utiliseront le thème des activités d'origine. Pour appliquer également le thème à tous les fragments, vous pouvez remplacer la méthode getTheme () du Context à la place:
Vous n'avez plus besoin d'appeler setTheme () dans la méthode onCreate (). Vous remplacez chaque demande pour obtenir le thème actuel dans ce contexte de cette façon.
la source
Je sais que je suis en retard mais je voudrais poster une solution ici:
Vérifiez le code source complet ici .
C'est le code que j'ai utilisé lors du changement de thème à l'aide des préférences.
Veuillez noter que vous devez mettre le code avant setcontentview ..
CODAGE HEUREUX!
la source
Celui-ci fonctionne bien pour moi:
theme.applyStyle(R.style.AppTheme, true)
Usage:
la source