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:theme
attributs?
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.xml
fichier. Dans votre AndroidManifest.xml
fichier actuel , vous n'utiliseriez que l'un ou l'autre pour chaque section, pas les deux.
styles.xml
puis utilisez la syntaxe android:theme=@style/MyBlankTheme
.