android: actionBarStyle requiere nivel de API 11
Mientras se usa el ActionBarSherlock
en xml en:
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Tengo este error:
android:actionBarStyle requires API level 11 (current min is 8) error
Lo estoy usando para volver a portar mi aplicación con actionbar a dispositivos 2.2.
Cómo usarlos juntos:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
4 answers
Solo tienes que usar :
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
Como puede obtener el error, tiene android:actionBarStyle
disponible en el nivel de API 11.
Si desea que su ActionBar
tenga el mismo estilo en todos los niveles de API, debe crear carpetas diferentes para el nivel de API seleccionado y crear nuevas style.xml
/themes.xml
archivos en estas carpetas.
Por ejemplo:
- res
-- values
-- styles.xml
-- themes.xml // API LEVEL 8+
-- values-v11
-- styles.xml
-- themes.xml // API LEVEL 11+
-- values-v14
-- styles.xml
-- themes.xml // API LEVEL 14+
La segunda cosa que se me ocurre es tener cuidado de qué temas están incluyendo a su actual en diferentes Niveles de API.
Por ejemplo, para el nivel de API 8: usará @style/Theme.Sherlock.Light.DarkActionBar
y solo tendrá que usar actionBarStyle
. Mientras que el estilo de la barra de acciones para el nivel de API 14+, no necesitará actionBarStyle
, porque probablemente establecerá Holo.Light
tema como padre para su actual, por lo que en esta situación tendrá que utilizar android:actionBarStyle
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-22 16:04:21
Otra opción es usar el atributo tools:targetApi
, que requiere el espacio de nombres tools
. Esto actúa de manera similar a la anotación @TargetApi
que puede usar en archivos java.
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="MyThemes.MyTheme">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle" tools:targetApi="11">@style/Widget.Styled.ActionBar</item>
</style>
</resources>
Tenga en cuenta el xmlns:tools="http://schemas.android.com/tools"
en la etiqueta <resources>
, como se requiere.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-13 18:30:09
Simplemente puede seleccionar errores en Eclipse y presionar la tecla "Eliminar". A continuación, simplemente ejecute el proyecto y funcionará.
Tiene que eliminar estos errores cada vez que modifica su XML.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-11 13:51:06
Depende de la versión del SDK a la que quieras dirigirte:
Dispositivos objetivo inferiores a 11:
En su AndroidManifest.xml
uso:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="x" android:maxSdkVersion="10"/>
X cualquier cosa entre 8-10 (depende de su código)
En tu estilo usa:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
Apunta a cualquier dispositivo:
En su AndroidManifest.xml
uso:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
16 usado en ActionBarSherlock
el ejemplo puede ser cualquier mayor o igual a 11 (depende de su código)
En tu estilo usa ambos:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
El 1er es para ActionBarSherlock
tema y el 2nd es para usar el mismo tema en dispositivos Android que ya son compatibles ActionBar
Editar: Para borrar las advertencias de pelusa (subrayado rojo en el archivo XML que puede aparecer):
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-12 07:24:22