我有一个具有以下风格的自定义对话框:
<style name="webtogo_app_style" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
它显示无边框对话框,后面的任何内容都会(略微)变暗。我的设计师希望背后的一切都比Android的默认值更暗,但不是完全黑的。
这根本没有设置吗?
我能想到的唯一解决方法是使用全屏活动而不是对话框,只需用半透明颜色填充整个屏幕(例如#99000000),然后在其上绘制对话框。有更简单的方法吗?
谢谢!
答案 0 :(得分:30)
您需要做的就是使用dimAmount
中的WindowManager.LayoutParams
字段:
WindowManager.LayoutParams lp = myDialog.getWindow().getAttributes();
lp.dimAmount = 0.7f
答案 1 :(得分:23)
如果要创建主题半透明的自定义对话框,则还必须添加以下行。 并且您可以使用上面的答案代码控制昏暗的数量。
myDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
对我来说,它看起来如下:
WindowManager.LayoutParams lp = myDialog.getWindow().getAttributes();
lp.dimAmount = 0.7f
myDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
答案 2 :(得分:0)
尝试这样做
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
其中dialog是创建的对话框的名称。