theme textappearance style studio apptheme android themes android-manifest android-styles

textappearance - styles android studio



El tema de Android no se está configurando (5)

EDIT: No estoy seguro de si esto fue solo un error tipográfico en la pregunta, pero en su tema principal usted hace referencia al estilo Theme.Black de Android incorrectamente. Su código dice:

<style name="Theme" parent="android:style/Theme.Black">

Cuando se debe decir:

<style name="Theme" parent="@android:style/Theme.Black">

Siento que Lint o el compilador te ladrarían por eso antes de ejecutar la aplicación, pero tal vez eso ayude.

Tengo un tema que se niega a ser aplicado a las actividades, ninguno de los estilos se aplica. Si no proporciono los layout_width / layout_height para <Button> , también aparece un error de tiempo de ejecución, lo que muestra que la clase Button no se está aplicando.

/res/values/themes.xml :

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme" parent="android:style/Theme.Black"> <item name="android:windowNoTitle">true</item> <item name="android:buttonStyle">@style/Button</item> <item name="android:windowBackground">@color/page_background_light</item> <item name="android:textAppearance">@style/TextAppearance</item> </style> </resources>

/res/valores/estilos.xml :

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="TextAppearance" parent="@android:style/TextAppearance"> <item name="android:textSize">12sp</item> <item name="android:textColor">@color/darkblue</item> </style> <style name="Button" parent="@android:style/Widget.Button"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> <!--<item name="android:textColor">#3C2F4F</item> <item name="android:textSize">20dip</item>--> </style> </resources>

y el entorno manifiesto relevante:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme">

¿Cuál es el error obvio que me estoy perdiendo?


Solo por curiosidad. Intenta cambiar el nombre de tu tema a otra cosa como FooBar.

Indique lo obvio aquí, pero asegúrese de que su botón esté usando el estilo correcto.


También he estado luchando con esto, y creo que finalmente he encontrado cuál pudo haber sido el problema, tal vez sea lo mismo.

Tenía el tema personalizado definido en la carpeta res/values , pero no en las carpetas values-v11 y values-v14 . Creo que lo hizo para que en algunos dispositivos (especialmente el 2 con el que estaba probando!), El tema no se pudo aplicar porque no existía.

Ahora veo que las propiedades establecidas en mi tema personalizado (aplicadas en el nivel de la aplicación) surten efecto.


Tuve que definir explícitamente el tema para cada <activity> .


Según esta respuesta , parece que no es posible proporcionar layout_width y layout_height través de estilos. Mientras compila, la excepción que plantea es:

E/AndroidRuntime(4117): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.MainActivity}: java.lang.RuntimeException: Binary XML file line #79: You must supply a layout_width attribute.

No estoy seguro de por qué, pero puede haber una solución. Como sugiere esta pregunta , es posible que pueda proporcionar una referencia como los parámetros de ancho y alto.

Una vez más, mis experiencias son que Android no admite correctamente proporcionar las dimensiones del widget a través de estilos.