LinearLayout Android avec la couleur de ressources: Ce que je fais mal?
J'ai suivi ce tutoriel pour créer une couleur à l'état d'une liste pour un particulier Android vue. J'ai juste envie de mettre en surbrillance lorsque vous cliquez dessus afin que l'utilisateur sait pourquoi l'écran juste changé.
Lorsque la vue est rendue, j'obtiens l'erreur suivante:
org.xmlpull.v1.XmlPullParserException: Binaire dans le fichier XML de la ligne #3: tag nécessite un "drawable" attribut ou de l'enfant de la balise de définition d'un drawable
Ma couleur XML (en res/color/viewcolor.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ff33ffff"/> <!-- pressed -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
Ma mise en page XML (en res/layout/myview.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myview"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:background="@color/viewcolor">
<!--crap in the layout-->
</LinearLayout>
Qu'ai-je manqué?
- si quelqu'un veut obtenir une solution complète, cochez cette référentiel: github.com/shamanland/AndroidLayoutSelector il est de coutume cliquable/vérifiables
LinearLayout
comme unToggleButton
Vous devez vous connecter pour publier un commentaire.
Je me souviens que j'ai travaillé autour de cette erreur en utilisant l'état drawable au lieu de la couleur de l'état. Pour une raison de mise en page d'arrière-plan ne fonctionne tout simplement pas avec la dynamique des couleurs. Donc, essayez de créer une dynamique drawable (par exemple liste de la forme un drawable avec des couleurs différentes) et l'utiliser comme arrière-plan.
res/drawable/pressed.xml:
res/drawable/normal.xml:
res/drawable/background.xml:
Ensuite utiliser background.xml dessiné comme arrière-plan 🙂
Au lieu d'utiliser des formes dans votre drawable, vous pouvez utiliser le
android:drawable
attribut qui accepte une couleur de ressources (par exemple, @couleur/noir).layout.xml
my_drawable.xml
Dans
my_drawable.xml
vous devez assurez-vous que les couleurs que vous indiquez sont définis dansres/values/colors.xml
, ou cela ne fonctionnera pas.Si vous souhaitez utiliser une image au lieu d'un changement de couleur à partir d'une ressource de couleur pour un drawable de ressources.
Exemple: