Eu sei como aplicar um tema a um aplicativo inteiro, mas onde iria para aplicar um tema a apenas uma atividade?
Respostas:
Você pode aplicar um tema a qualquer atividade incluindo android:theme
dentro do <activity>
arquivo de manifesto.
Por exemplo:
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@style/CustomTheme">
E se você quiser definir o tema programaticamente, use o método setTheme()
antes de chamar setContentView()
e super.onCreate()
dentro do onCreate()
método.
tools:context= ".YourAtivityName"
na raiz
Para defini-lo programaticamente em 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);
Para definir no escopo do aplicativo em Manifest.xml (todas as atividades):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Para definir o escopo da atividade em Manifest.xml (atividade única):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Para construir um tema customizado, você terá que declarar o tema no arquivo themes.xml e definir estilos no arquivo styles.xml.
android:theme
atributos?
android:theme="@android:style/Theme.Holo"
é a sintaxe para adicionar um tema integrado ao Android. android:theme="@style/MyTheme"
é a sintaxe para adicionar um tema personalizado descrito em seu styles.xml
arquivo. Em seu AndroidManifest.xml
arquivo real, você usaria apenas um ou outro para cada seção, não ambos.
styles.xml
e use a sintaxe android:theme=@style/MyBlankTheme
.