アセットにLOCAL htmlファイル「ページ」をロードするため、WebViewを備えた非常に単純なAlertDialogがあります(以下のコード)。view
私が抱えている問題は、それがほんの一瞬開いている間に「ビルド」されているのを見ることができるということです.最初に画面中央の小さなダイアログウィンドウにタイトルが表示され、次にダイアログがテキストで大きくなります.迷惑な行為です。他のウィンドウは問題なく開きます。
これは正常な動作ですか?多分それは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 にそのコンテンツをロードするように指示する必要があります。