trapezoid item example android android-xml android-drawable

item - shape size android



selectableItemBackground como elemento en la lista de capas (1)

Funciona pero desde api v21 . Entonces, puedes seguir adelante y usarlo en dispositivos con Android Lollipop y más nuevos. Si desea admitir versiones anteriores del sistema, puede colocar este xml en la carpeta drawable-v21 y preparar un nuevo xml en la carpeta drawable con el mismo nombre. Por ejemplo:

drawable / selected_navdrawer_item_background.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#12000000" /> </shape>

La aplicación Google IO hace lo mismo: aquí está el archivo de la carpeta dibujable y aquí está el archivo de la carpeta drawable-v21

He copiado un archivo de la fuente de la aplicación Google IO Schedule ( https://github.com/google/iosched ) a saber

selected_navdrawer_item_background.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/backgroundColor"> <shape> <solid android:color="#12000000" /> </shape> </item> <item android:drawable="?android:selectableItemBackground"/> </layer-list>

Quiero usar esto para resaltar el elemento seleccionado actualmente en un NavigationDrawer. Mi problema es que cuando lanzo mi aplicación, se produce una excepción.

Esta es la línea importante, creo.

caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #22: <item> tag requires a ''drawable'' attribute or child tag defining a drawable

La línea # 22 es esta

<item android:drawable="?android:selectableItemBackground"/>

No sé cuál es el problema, lo copié de la fuente sin ajustarlo. Está funcionando bien en su aplicación.

Intenté cambiar ?android:selectableItemBackground a ?attr/selectableItemBackground , pero me da la misma excepción. Parece que no puedo encontrar ninguna otra solución sugerida.

Si alguien sabe lo que está causando esto, por favor ayúdame.