2011-06-08 115 views
3

我有LinearLayout,我有PNG,我用作瓷磚 - 但我也想它背後的顏色將是白色。添加PNG和顏色到背景

這可能嗎?

我的代碼是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/LinearMain" android:background="@drawable/bcktiles"> 

和繪製是:

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/bgsite" android:tileMode="repeat"> 
    </bitmap> 

我不知道往哪裏放#FFF

感謝

回答

4

您也可以通過執行創建複合繪製:

drawable/composite.xml

<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="color drawable" /> 
    <item android:drawable="drawable 1..." /> 
</layer-list> 

併爲你的顏色,你可以創建一個形狀繪製:

<shape 
xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="color" /> 
</shape> 
+0

這是一個不錯的選擇,只是要注意[消失的填充值](http://stackoverflow.com/questions/6104677/transitiondrawable-doesnt-account-for-padding/6105149#6105149)。 – dmon 2011-06-08 20:26:00

+0

我已經在日食預覽屏幕上很好,但是當在XOOM上看到我只看到白色! – Himberjack 2011-06-08 20:29:34

+0

您可能會被此錯誤咬住:http://code.google.com/p/android/issues/detail?id=15340 – 2011-06-08 20:43:11

0

在你的LinearLayout,你」如果您正在引用顏色資源,則要使用android:background="@color/myColor"。如果您不想將其存儲爲資源,則也可以將其放在android:background="#FFFFFFFF"之內。

+0

但隨後即時更換可繪製的參考! – Himberjack 2011-06-08 20:21:14

+0

你真的只有一個位置在LinearLayout中放置背景,所以你必須在一個或多個顏色之間進行選擇。爲什麼不使用RelativeLayout,將背景設置爲你的顏色,然後將一個設置爲FILL_PARENT的ImageView放入它中,以顯示你的瓷磚?這樣,您仍然可以將其他視圖放在瓦片上方。 – BigFwoosh 2011-06-08 20:25:58