3

我有一个非常简单的带有 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 在进入屏幕之前加载其内容。

4

0 回答 0