¿Por qué y cuándo tenemos que añadir android: prefijo al estilo?
He visto que algunos atributos de estilo requieren prefijo de
android
y algunos no lo necesitan. Cual es la razon. me gusta
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>
Por qué no hemos utilizado android:windowActionBar
y android:windowNoTitle
- Cambiar android Estilo de EditText del borde rectangular al subrayado
- Uso del espacio de nombres de la aplicación en estilo
- ¿Cómo aplicar el tema ligero para la actividad y mantener el tema oscuro para los diálogos al mismo tiempo?
- Programáticamente set android: windowIsTranslucent
- Personalizar ActionBar TabBar (ActionBarSherlock)
- ¿Cómo diálogo de tema para API 10 a API 17?
- Obtener el valor de tema aplicado para una actividad mediante programación
- Procesando problemas al cambiar el tema
- ¿Por qué un botón pierde su comportamiento original después de cambiar su color?
- Respecto a la eliminación de la barra de título de actividad en Android
- Establecer el color de texto mediante programación en la vista de texto principal de Android
- Tema predeterminado de Spinner a EditarTexto android
- Android: hacer una aplicación de pantalla completa
Basado en la versión de SDK, los estilos de Android se agrupan en diferentes espacios de nombres. Para anular un Tema tienes que seguir su espacio de nombres.
Esa es la razón por la que no necesitas el prefijo android:
al extender un tema de Appcompat
, pero si quieres algo más, digamos Theme.Holo
– tendrías dos estilos diferentes para el tema de los dispositivos pre-Lolipop y uno Para -21
, este último tiene el prefijo android:
antes de cada atributo de estilo.
Depende de los temas que esté usando y del contexto en el que se encuentre. Estos atributos están definidos por diferentes fuentes.
Si el nombre del atributo está prefijado con android:
es un atributo del marco y sólo se puede utilizar para las versiones de Android que lo definen.
Si el atributo no está prefijado en absoluto, los atributos se definen por su propia aplicación. Esto incluye todas las definiciones de atributos que utilizó con las bibliotecas.
En su ejemplo está definiendo un tema para AppCompat
que es parte de la biblioteca de soporte y por lo tanto de su aplicación. Los widgets marco no reconocerán estos colores directamente.
- Pruebas de instrumentación de Android con múltiples emuladores
- Firebase para Android no funciona en mi dispositivo de prueba de repente