Theming ActionBarSherlock da error de nivel de api
He actualizado mi proyecto desde Android 4.2 a Android 4.2.2 y de repente me sale este error en mi styles.xml:
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar"> <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> <!-- Requires level 11. Current: 7 --> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> </style>
¿Cómo puedo solucionar esto? De acuerdo con los documentos de ABS esto es cómo debe hacerse. Vea: http://actionbarsherlock.com/theming.html
- Cómo configurar el color personalizado en el elemento de lista seleccionado / resaltado en activateBackgroundIndicator
- Google Maps Android v2 no funciona con ActionBarSherlock Fragment Actividad
- ActionbarSherlock no incluye la sección "desbordamiento" de la barra de acciones (en Android 2.1)
- Android Studio: Theme.Sherlock.Light.DarkActionBar no se puede resolver
- ¿Cómo cambiar la fuente de fuente de elemento de menú actionbarsherlock cuando se utiliza tema personalizado para la barra de acción?
- EditText perder el foco con el teclado duro cuando TabHost está presente en la actividad
- Problemas de ActionBarSherlock getMenuInflater
- Excepción de puntero nulo mostrando en la barra de acción sherlock library
- ¿Cómo puedo hacer que los elementos de ActionBar sean uno a la izquierda, uno en el centro y otro a la derecha?
- PopupMenu equivalente en ActionBarSherlock
- ActionBar Sherlock - Imagen de fondo en Actionbar
- Biblioteca resolver a una ruta sin archivo project.properties
- GetSherlockActivity () vs getActivity ()
Intenté reiniciar, pero en última instancia necesitaba limpiar el proyecto: Haga clic en "Proyecto-> Limpiar …"
El error regresó cada vez que guardé mi styles.xml. Por ahora, estoy configurando mi nivel mínimo de API a 11 temporalmente mientras edito ese archivo para evitar los errores, y luego restablecerlo de nuevo y limpiar cuando quiero ejecutarlo en mi emulador de bajo nivel de API.
Editar: Si no te gusta dejar la versión de mini SDK artificialmente alta, también funciona para mí cambiarla a 14 (otro número alto), guardar AndroidManifest.xml, cambiarlo de nuevo y guardarlo de nuevo.
He utilizado la solución rápida sugerida de Eclipse (CTRL-1 en el elemento subrayado) y acaba de añadir las herramientas de supresión de advertencia : ignore = "NewApi"
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/Widget.Styled.ActionBar</item>
De esta manera no tendrá que ignorar toda la advertencia de Lint, que podría ser útil en otros casos, y puede compilar el proyecto sin tener que reajustar la API de destino cada vez que edite el archivo.
Actualización : Como greg7gkb señalado en los comentarios: No se olvide de la declaración de espacio de nombres ( xmlns:tools="schemas.android.com/tools"
).
En última instancia, realmente debería agregar el atributo que le está dando el error en un archivo específico styles.xml de la API.
Esta respuesta SO describe esto mucho mejor de lo que podría: android: actionBarStyle requiere el nivel 11 de la API
Creo que TODAS las otras respuestas no son arreglos, sino work-arounds (subvertir el error, pero en última instancia, no lo arreglan).
En Intellij IDEA (presumiblemente también eclipse) puede suprimir las advertencias de API para todo el archivo agregando
<!--suppress AndroidLintNewApi -->
Antes de declarar el esquema. Así que su archivo xml se vería así:
<!--suppress AndroidLintNewApi --> <resources xmlns:android="http://schemas.android.com/apk/res/android"> < ... /> </resources>
- Cómo agregar un TextView encima de un FloatingActionButton en Android
- Pantalla negra en la preferencia interna Pantalla