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"

一切正常。

有谁知道 MonoDroid 是否支持 colors.xml,如果支持,为什么会出现此错误?

谢谢您的帮助!

4

2 回答 2

2

很好,你发现了这一点。另一个需要考虑的问题是您总是用小写字母定义颜色 ID。我使用了大写的大小写,虽然我的 c# 代码通过区分大小写的搜索找到了资源,但当从可绘制或布局 xml 文件(使用@color/the_id_here)引用时,android 需要小写的 id。

于 2012-03-28T13:02:59.717 回答
1

弄清楚了,colors.xml 的 Build Action 设置为 Content 而不是 AndroidResource !

于 2011-01-19T11:10:42.073 回答