我理解如何设置Dialog的昏暗量.但是,我更喜欢颜色是半透明的白色而不是半透明的黑色(或者是深灰色?).有任何想法吗?
解决方法
首先,您需要创建白色9-patch drawable.类似于可在路径中找到的panel_background.9.png drawable(黑色):
<android-sdk-dir>/platforms/android-#/data/res/drawable-hdpi/panel_background.9.png
我们假设您的drawable将被称为white_panel_background.9.png.
选项1.
您可以创建扩展Theme.Dialog的自定义主题,并使用自定义白色9-patch drawable覆盖windowBackground属性.
<style name="Theme.WhiteDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/white_panel_background</item> </style>
然后在对话框中使用此主题:
Dialog dialog = Dialog(context,R.style.Theme_WhiteDialog);
选项2.
如果您已经创建了对话框(使用默认主题),您仍然可以更新其窗口背景:
Dialog dialog = ...; ... Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.white_panel_background); dialog.getwindow().setBackgroundDrawable(drawable);
注意:您需要将文本颜色从白色更改为黑色(因此在白色背景上可见).
注意:你需要为AlertDialog做一些额外的步骤,因为它使用自己的背景样式.有关详细信息,请参阅AlertDialog
style.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。