制作透明(半透明)背景(冰淇淋三明治)

时间:2013-06-04 16:25:55

标签: android android-activity background

在我的应用程序上,我有一些具有traslucent背景的活动 我在活动上使用此代码制作它:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

和清单上的这段代码

android:theme="@android:style/Theme.Translucent"

这项工作在我测试的所有设备上,但在某些设备中我有一个黑色的bacground 该设备是: 索尼xperia射线 三星银河二重奏 htc c

所有这些设备都有iceCream Sandwich

我在使用jb和gingerbrand的设备上没有问题 我该如何设置traslucent背景?

2 个答案:

答案 0 :(得分:0)

我认为问题是WindowManager.LayoutParams.FLAG_BLUR_BEHIND。这个常数在冰淇淋三明治中被弃用了。

答案 1 :(得分:0)

尝试将此添加到您的styles.xml

<style name="EmptyActivity">
 <item name="android:windowIsTranslucent">true</item>
  <item name="android:windowAnimationStyle">@null</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:colorForeground">#000</item>
 <item name="android:windowBackground">@android:color/transparent</item> 
 <item name="android:backgroundDimEnabled">false</item> 
 <item name="android:windowIsFloating">true</item>
  <item name="android:windowNoTitle">true</item>
  </style>

我假设在ICS中,dim是导致black screen的原因。我已经在代码中禁用了它,所以希望它能够正常工作。