我不给活动任何背景。当我将此属性留空时,它会给我一个错误。
而且我尝试过@null
用作值,但它显示黑色背景。
任何人都可以指导我,如何使其透明?
对于 Activity,您可以在 onCreate 方法中将主题设置为半透明:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setTheme(android.R.style.Theme_Translucent);}
您也可以像本教程一样在 xml 文件中执行此操作。
您应该使用样式来执行此操作。在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" ... />
那应该做的工作。