您好,我想做到这一点看我的警告对话框,但不确定我应该怎么做。我知道如何在android中获得透明警报对话框的外观,但我无法找到任何线索来让它变得半透明。请留下一些意见或指导我应该如何开始这样做。非常感谢!
更新: 对不起,我忘记包括实际上我正在使用XML与警报对话框主题,而不是正常的警报对话框。
您好,我想做到这一点看我的警告对话框,但不确定我应该怎么做。我知道如何在android中获得透明警报对话框的外观,但我无法找到任何线索来让它变得半透明。请留下一些意见或指导我应该如何开始这样做。非常感谢!
更新: 对不起,我忘记包括实际上我正在使用XML与警报对话框主题,而不是正常的警报对话框。
要查看基本活动未变暗:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
要使得对话框的背景半透明的,你必须设置背景颜色与阿尔法< 255(参见Color
API)。
你可以创造自定义对话框,它是指风格:
final Dialog dialog = new Dialog(context,R.style.cust_dialog);
然后创造价值XML夹名为dialog_style.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>
由此您将获得半透明对话框,
并且您可以根据需要控制半透明度。
希望能帮到你。
我跟着给出的代码谢谢你,但它变成了透明而不是半透明的... – Annabel
@Annabel如果它解决了你的问题,只是接受它,谢谢 – frozenhill
添加此行。
dialog.setBackgroundColor(Color.argb(0,0,0,0);
实际上,我使用xml提醒对话框主题,而不是像通常那样夸大警报对话框。已尝试上述代码并出现错误。猜测只适用于充气警报对话框。无论如何感谢:) – Annabel
好吧,出现什么错误(编辑您的帖子)。其次,您可以继承警报对话框主题以在xml中设置背景颜色。 – Bondax