我想为我的ProgressDialog设置一个合适的样式。我喜欢默认的,但我想自定义它。我曾尝试使用AppCompat对话框,但它们都为我的对话框设置了一些奇怪的宽度和高度。
我发现从MaterialDialog扩展可以做到这一点,所以下面的代码可以工作:
<style name="ProgressDialogTheme" parent="MaterialBaseTheme.AlertDialog" >
</style>
这是因为MeterialDialog本身设置了自定义宽度
<style name="MaterialBaseTheme.AlertDialog" parent="MaterialBaseTheme.Dialog">
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
</style>
我发现有一个AppCompat对话框,它设置了相同的自定义宽度,如下所示:
<style name="Base.Theme.AppCompat.Light.Dialog.Alert">
<item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
<item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
</style>
,但它不工作
唯一的区别是MeterialDialog属性开头的andorid名称空间。
有人能解释一下android:windowMinWidthMajor
为什么要这么做吗?
发布于 2019-04-24 03:09:18
@Ian Wong's answer是正确的。以下是有关这方面的更多详细信息:
景观中的android:windowMinWidthMajor
-> min_dialog_width
肖像中的android:windowMinWidthMinor
-> min_dialog_width
@dimen/abc_dialog_min_width_major & @dimen/abc_dialog_min_width_minor
的实际值在以下路径中定义:
@dimen/abc_dialog_min_width_major
-根据屏幕大小从65%
到45%
。@dimen/abc_dialog_min_width_minor
-根据屏幕大小从95%
到72%
。
https://stackoverflow.com/questions/40302941
复制相似问题