嗨,我希望为我的警报对话框实现这种外观,但不确定我应该如何做。我确实知道如何在 android 中获得透明警报对话框的外观,但我找不到任何线索让它是半透明的。请就我应该如何开始做一些意见或指导。非常感谢!
更新:对不起,我忘记包含实际上我正在使用带有警报对话框主题的 xml,而不是普通的警报对话框。
嗨,我希望为我的警报对话框实现这种外观,但不确定我应该如何做。我确实知道如何在 android 中获得透明警报对话框的外观,但我找不到任何线索让它是半透明的。请就我应该如何开始做一些意见或指导。非常感谢!
更新:对不起,我忘记包含实际上我正在使用带有警报对话框主题的 xml,而不是普通的警报对话框。
要查看未变暗的基础活动:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
要使对话框的背景半透明,您必须设置 alpha < 255 的背景颜色(请参阅Color
API)。
您可以创建自定义对话框并将其引用到样式:
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>
通过这个你会得到半透明对话框,
您可以根据需要控制半透明。
希望能帮到你。
添加这一行。
dialog.setBackgroundColor(Color.argb(0,0,0,0);