2012-04-22 134 views
1

我想创建一个包含水平和垂直重复图像的背景。在整个背景上方,我想应用从白色到透明的渐变,覆盖背景的一半。 现在,我想知道我是否可以用风格来做到这一点。这是因为我得到这样的警告:Android - 重复背景并将白色应用于透明渐变

"Possible overdraw: Root element paints background @drawable/background with a 
theme that also paints a background (inferred theme is @android:style/Theme)" 

它看起来像被默认的主题(主题)应用的背景下两次,一次,然后用我的布局,可绘制的元素,或什么的。

所以,我的问题是:我怎样才能通过创建一个新的主题或创建一个drawable并禁用默认的主题背景,将由新的透支?

谢谢大家!

回答

3

假设您想为您的所有窗口的背景,风格的定义是这样的:

<style name="MyTheme" parent="@android:style/Theme.Holo"> 
    <item name="android:windowBackground">@drawable/activity_background</item> 
</style> 

如果你想这样做了具体来看,通常有一个“机器人:背景”必须设置为可绘制的属性。

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

<item> 
    <bitmap 
     android:dither="true" 
     android:src="@drawable/dialog_background_img" 
     android:tileMode="repeat" > 
    </bitmap> 
</item> 
<item> 
    <shape> 
     <gradient 
     android:angle="90" 
     android:endColor="#66ff0000" 
     android:startColor="#5500ff00" /> 
    </shape> 
</item> 

</layer-list> 
+0

我得到一个错误和应用程序崩溃:无效绘制标签梯度 – ali 2012-04-22 19:20:26

+0

如果我

要与在它上面的一个梯度的位图,您可绘制必须使用图层列表中这样定义删除它的工作梯度。什么是错误的梯度? – ali 2012-04-22 19:22:58

+2

O.K.我不得不将它包含在一个形状元素中。无论如何,这工作,我非常感谢你! – ali 2012-04-22 19:25:26