【发布时间】:2018-11-26 19:58:46
【问题描述】:
我已经为此苦苦挣扎了好几个小时,如果这是一个愚蠢的问题,我很抱歉。
我想打开一个带有动画的 AlertDialog(使背景变暗)。 对话框视图是一个 WebView。我尝试了两种方法:
1) 带有xml风格的AnimatedDialog:
<style name="AnimatedDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/AnimatedDialogAnimation</item>
</style>
在代码中调用
builder = new AlertDialog.Builder(context, R.style.AnimatedDialog);
这种方法的问题是对话框有一个丑陋的框架,可能是因为parent="@android:style/Theme.Dialog" 是错误的,但我找不到AlertDialog 的正确框架。所以我尝试了这个:
2) 通过WindowManager.LayoutParams:
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.windowAnimations = R.style.AnimatedDialog;
dialog.getWindow().setAttributes(lp);
现在的问题是对话框没有动画(为什么??)。
此外,在这两种情况下,对话框在显示之前都会短暂“闪烁”,换句话说,我可以看到它正在“构建”。也许是因为 WebView?
有人可以指导我如何正确执行此操作吗?
谢谢!!
【问题讨论】:
标签: android android-alertdialog