2011-06-08 114 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