2

J'ai une simple mise en page comme suit:MonoDroid - la mise en couleur de fond de Colors.xml jette InvalidOperationException

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout 
    android:id="@+id/widget30" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/translucent_red" 
    android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

Mon fichier Colors.xml est la suivante:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="opaque_red">#f00</color> 
    <color name="translucent_red">#80ff0000</color> 
</resources> 

Lorsque Je compile dans VS2010 je reçois une erreur "System.InvalidOperationException: Commande a échoué ...." J'ai essayé de placer le colors.xml dans res/values ​​et res/color mais je toujours obtenir le Erreur. Si je référence la couleur directement comme:

android:background="#80ff0000" 

tout fonctionne bien.

Est-ce que quelqu'un sait si le fichier colors.xml est supporté par MonoDroid et si oui, pourquoi ai-je cette erreur?

Merci pour l'aide!

Répondre

1

En résumé, l'Action de construction pour colors.xml a été définie sur Contenu au lieu d'AndroidResource!

+0

Comment avez-vous fixé cela? – Derzu

2

Bon vous l'avez trouvé. Un autre point à prendre en compte est que vous définissez toujours les identifiants de couleur en minuscules. J'ai utilisé les majuscules et bien que mon code C# trouve les ressources avec une recherche sensible à la casse, android s'attend à des identifiants en minuscules en se référant à des fichiers xml dessinables ou de mise en page (en utilisant @ color/the_id_here).