0

我不给活动任何背景。当我将此属性留空时,它会给我一个错误。

而且我尝试过@null用作值,但它显示黑色背景。

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

4

2 回答 2

1

对于 Activity,您可以在 onCreate 方法中将主题设置为半透明:

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

您也可以像本教程一样在 xml 文件中执行此操作。

于 2010-02-02T10:32:55.093 回答
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" ... />

那应该做的工作。

于 2010-02-02T12:06:22.977 回答