¿Por qué getApplicationContext (). SetTheme () en una actividad no funciona?
En la actualidad, tengo un tiempo difícil para llamar a getApplicationContext (). SetTheme () en una actividad, sólo quiero aplicar un recurso de tema en un ámbito de aplicación en lugar de ámbito de actividad en el estilo de código, pero el problema es que esto no funciona En absoluto, alguien puede explicar a esto, muchas gracias!
Él es el esqueleto del código:
- Cambiar el color de la barra de acciones de Android 5.0
- Cambiar el estilo de AlertDialog
- ¿Existen bibliotecas de temas de código abierto o gratuitas para Android?
- Aplicar un estilo a todos los diálogos (diálogo giratorio, diálogo de alertas, etc.)
- Actividad que se mostrará incluso cuando el teléfono esté en modo bloqueado
public class StartUp extends Activity { @Override public void onCreate(Bundle savedInstanceState) { /* * setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen); * //that works! */ this.getApplicationContext().setTheme( android.R.style.Theme_Black_NoTitleBar_Fullscreen); super.onCreate(savedInstanceState); setContentView(R.layout.main); }
}
- Cómo cambiar el color del hilandero, el texto y el botón del material AlertDialog y ProgressDialog
- Cambiar Theme.Dialog para que parezca Theme.Light.Dialog en Android
- Cambiar el color azul por defecto en el tema de Android holo a naranja (o cualquier otra cosa)
- ¿Cómo puedo convertir un diseño PSD a Android xml?
- No apuntar a las últimas versiones de Android
- Cambio de tema en el proyecto android en eclipse
- ¿Por qué es tan complejo configurar estilo de código en Android
- Cómo evitar la pantalla negra al iniciar una aplicación
Tuve el mismo problema antes y no encontrar una manera de arreglar esto. Sólo Dios sabe por qué, pero incluso he visto a los ingenieros de framework de Android (creo que era Dianne Hackborn) dicen que establecer temas como este es desalentador.
Establezca el tema de su Actividad en el Manifiesto, y funcionará.
Puede utilizar setTheme(..)
antes de llamar a setContentView(...)
y super.oncreate()
y debería funcionar bien
¿Cuándo llama a setTheme () en su contexto de aplicación? Debe ser llamado antes de instanciar cualquier vista.
Puede utilizar setTheme (..) antes de llamar a setContentView (…) y super.oncreate () y debería funcionar bien
Se arregló en sdk 4.0 (puede ser anterior).
No intenté esto por mí mismo, pero si era absolutamente necesario para fijar el tema programatically, la cosa siguiente que intentaría sería derivar una clase de la aplicación y substituir el método onCreate como en el siguiente:
public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen); } }
- Tomando una "captura de pantalla" de un diseño específico en Android
- Cómo usar el LightingColorFilter para hacer que la forma de la imagen oscurezca a la luz