Android中的半透明对话框

时间:2012-11-14 09:09:44

标签: android android-layout android-alertdialog

enter image description here

嗨,我希望看到我的警报对话框,但不确定我应该怎么做。我知道如何在android中获得透明警告对话框但我找不到任何线索它是半透明的。请留下一些意见或指导,我应该如何开始这样做。非常感谢!

更新: 抱歉,我忘了包含实际上我使用的是带有警告对话框主题的xml而不是正常的警告对话框。

3 个答案:

答案 0 :(得分:5)

要查看基础活动未变暗:

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

要使Dialog的背景半透明,您必须设置alpha<的背景颜色。 255(请参阅Color API)。

答案 1 :(得分:3)

您可以创建自定义对话框并将其引用到样式:

 final Dialog dialog = new Dialog(context,R.style.cust_dialog);

然后在名为dialog_style.xml的值文件夹中创建xml:

 <?xml version="1.0" encoding="utf-8"?>

<resources>   
   <style name="cust_dialog"> 
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowBackground">@color/transparent_color</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:colorBackgroundCacheHint">@null</item> 
    <item name="android:textSize">30dp</item>
   <item name="android:gravity">left</item>
  </style>
</resources> 

还创建color.xml:

 <?xml version="1.0" encoding="utf-8"?>
 <resources>   
     <color name="transparent_color">#00000000</color>
  </resources> 

通过这个你将获得半透明对话框,

您可以根据需要控制半透明度。

希望能帮到你。

答案 2 :(得分:0)

添加此行。

 dialog.setBackgroundColor(Color.argb(0,0,0,0);