2011-01-19 48 views
2

我有一個簡單的佈局如下:MonoDroid的 - 從colors.xml設置背景顏色拋出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"> 

我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支持,如果是的話,爲什麼我得到這個錯誤?

感謝您的幫助!

回答

1

想象出來,colors.xml的Build Action被設置爲Content而不是AndroidResource!

+0

你是如何修復它的? – Derzu 2012-05-31 22:30:48

2

很好,你發現了這一點。另一個需要考慮的問題是您總是使用小寫字母來定義顏色標識。我使用大寫字母框,雖然我的c#代碼發現了區分大小寫的搜索資源,但android在從drawable或layout xml文件(使用@ color/the_id_here)引用時期望使用小寫的id。