3

在此处输入图像描述

嗨,我希望为我的警报对话框实现这种外观,但不确定我应该如何做。我确实知道如何在 android 中获得透明警报对话框的外观,但我找不到任何线索让它是半透明的。请就我应该如何开始做一些意见或指导。非常感谢!

更新:对不起,我忘记包含实际上我正在使用带有警报对话框主题的 xml,而不是普通的警报对话框。

4

3 回答 3

6

要查看未变暗的基础活动:

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

要使对话框的背景半透明,您必须设置 alpha < 255 的背景颜色(请参阅ColorAPI)。

于 2012-11-14T09:15:57.250 回答
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> 

通过这个你会得到半透明对话框,

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

希望能帮到你。

于 2012-11-14T09:36:44.283 回答
0

添加这一行。

 dialog.setBackgroundColor(Color.argb(0,0,0,0);
于 2012-11-14T10:42:39.023 回答