Sé cómo aplicar un tema a toda una aplicación, pero ¿adónde iría para aplicar un tema a una sola actividad?
86
Puede aplicar un tema a cualquier actividad incluyendo android:themedentro del <activity>archivo de manifiesto dentro.
Por ejemplo:
<activity android:theme="@android:style/Theme.Dialog"><activity android:theme="@style/CustomTheme">Y si desea configurar el tema programáticamente, úselo setTheme()antes de llamar setContentView()y el super.onCreate()método dentro del onCreate()método.
tools:context= ".YourAtivityName"en la raízPara configurarlo programáticamente en 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 establecer el alcance de la aplicación en Manifest.xml (todas las actividades):
<application android:theme="@android:style/Theme.Holo" android:theme="@style/MyTheme">Para establecer el alcance de la actividad en Manifest.xml (actividad única):
<activity android:theme="@android:style/Theme.Holo" android:theme="@style/MyTheme">Para crear un tema personalizado, deberá declarar el tema en el archivo themes.xml y establecer estilos en el archivo styles.xml.
fuente
android:themeatributos?android:theme="@android:style/Theme.Holo"es la sintaxis para agregar un tema integrado de Android.android:theme="@style/MyTheme"es la sintaxis para agregar un tema personalizado descrito en sustyles.xmlarchivo. En suAndroidManifest.xmlarchivo real , solo usaría uno u otro para cada sección, no ambos.styles.xmly luego use la sintaxisandroid:theme=@style/MyBlankTheme.Antes de llamar
setContentView(), llamesetTheme(android.R.style...)y simplemente reemplace ... con el tema que desee (Theme, Theme_NoTitleBar, etc.).O si su tema es un tema personalizado, reemplace todo, para que obtenga
setTheme(yourThemesResouceId)fuente