2

私は次のような単純なレイアウトを持っています:

<?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">

私のcolors.xmlファイルは次のとおりです。

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

VS2010でコンパイルすると、「System.InvalidOperationException:コマンドが失敗しました...」というエラーが表示されます。colors.xmlをres/valuesおよびres/colorに配置しようとしましたが、それでもエラーが発生します。次のように色を直接参照すると、次のようになります。

android:background="#80ff0000"

すべてが正常に動作します。

誰かがcolors.xmlがMonoDroidでサポートされているかどうかを知っていますか?サポートされている場合、なぜこのエラーが発生するのですか?

助けてくれてありがとう!

4

2 に答える 2

2

あなたはこれを見つけました。考慮すべきもう 1 つの問題点は、カラー ID を常に小文字で定義することです。私は大文字小文字を使用しました。私の C# コードは大文字と小文字を区別する検索でリソースを見つけますが、Android はドローアブルまたはレイアウト xml ファイル (@color/the_id_here を使用) から参照するときに小文字の ID を想定しています。

于 2012-03-28T13:02:59.717 に答える
1

それを理解すると、colors.xml の Build Action が AndroidResource ではなく Content に設定されました。

于 2011-01-19T11:10:42.073 に答える