Je sais comment appliquer un thème à une application entière, mais où puis-je appliquer un thème à une seule activité?
Réponses:
Vous pouvez appliquer un thème à n'importe quelle activité en incluant android:themeà l' <activity>intérieur du fichier manifeste.
Par exemple:
<activity android:theme="@android:style/Theme.Dialog"><activity android:theme="@style/CustomTheme">Et si vous souhaitez définir le thème par programme, utilisez-le setTheme()avant d'appeler setContentView()et de super.onCreate()méthode à l'intérieur de la onCreate()méthode.
tools:context= ".YourAtivityName"dans la racine
Pour le définir par programme dans Activity.java:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.MyTheme); // (for Custom theme)
setTheme(android.R.style.Theme_Holo); // (for Android Built In Theme)
this.setContentView(R.layout.myactivity);
Pour définir la portée de l'application dans Manifest.xml (toutes les activités):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Pour définir la portée de l'activité dans Manifest.xml (activité unique):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Pour créer un thème personnalisé, vous devrez déclarer le thème dans le fichier themes.xml et définir les styles dans le fichier styles.xml.
android:themeattributs?
android:theme="@android:style/Theme.Holo"est la syntaxe pour ajouter un thème intégré Android. android:theme="@style/MyTheme"est la syntaxe pour ajouter un thème personnalisé décrit dans votre styles.xmlfichier. Dans votre AndroidManifest.xmlfichier actuel , vous n'utiliseriez que l'un ou l'autre pour chaque section, pas les deux.
styles.xmlpuis utilisez la syntaxe android:theme=@style/MyBlankTheme.