2010-02-02 117 views
0

我不知道要给背景给活动什么。当我将这个属性留空时,它给了我一个错误。android:background =“”给出错误

我试过使用@null作为值,但它显示黑色背景。

任何人都可以指导我,如何使它透明?

+0

你想整个应用程序透明或只是这个活动? – 2010-02-02 10:22:54

回答

1

你应该使用样式来做到这一点。在res/values/styles.xml,有一个主题的定义:

<style name="MyTheme"> 
    <item name="android:background">@android:color/transparent</item> 
    <item name="android:windowIsFloating">true</item> 
</style> 

据我所知,你必须设置windowIsFloating,否则运行时不会画一个半透明的背景(大概是因为性能原因...但我已经看到了这种行为的改变在不同的平台版本之间,所以你可以先尝试没有它)。

然后设置主题,为您的活动在清单:

<activity android:name="..." android:theme="@style/MyTheme" ... /> 

这应该做的工作。

1

对于您可以设置主题,以在onCreate方法半透明的活动:

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
... 
setTheme(android.R.style.Theme_Translucent);} 

你也可以做到这一点的xml文件就像这个tutorial

+0

它是transsnparent,但显示白色背景我可以更改该透明背景为其他颜色或黑色? – UMAR 2010-02-02 10:52:47

+0

由于它的半透明,它将被清除,但无论背景中的任何活动是什么,你会看到下面 – 2010-02-02 10:54:37

+0

是的,你是对的,但我希望以前的活动,然后在两个和新的活动之间tranparent背景。 意味着我可以透过黑色透明色看到之前的活动。 有什么想法? – UMAR 2010-02-02 10:59:46