我有一个非常简单的带有 WebView 的 AlertDialog,因为view
它在资产中加载了一个本地 html 文件“页面”(下面的代码)。我遇到的问题是我可以看到它正在“构建”,而它打开了几分之一秒:首先是屏幕中心的一个小对话框窗口中的标题,然后对话框随着文本变大,等等。这是一个令人讨厌的行为。其他窗户开得很好。
这是正常行为吗?也许是WebView?有没有办法告诉 AlertDialog:“在显示之前构建对话框”?
谢谢!!
对话代码:
@SuppressLint({"SetJavaScriptEnabled"})
public static void viewHTML(Context context, String page) {
WebView myMsg = new WebView(context);
myMsg.getSettings().setJavaScriptEnabled(true);
myMsg.loadUrl("file:///android_asset/" + page);
myMsg.setBackgroundColor(0);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.ic_launcher).setView(myMsg);
builder.setTitle("sometitle");
AlertDialog dialog = builder.create();
dialog.show();
}
编辑
实际上,我的代码还为 AlertDialog 使用了动画(它从左侧进入)。我可以看到对话框进入屏幕,但很小,没有任何文字,到达屏幕中心,然后随着内容变大。
不知何故,我需要告诉 WebView 在进入屏幕之前加载其内容。