Android AlertDialog topPanel视图将内容推送到屏幕外

时间:2012-03-23 18:08:23

标签: android alertdialog

出于某种原因,我的所有AlertDialog都将内容视图推离屏幕。第一个示例只显示简单文本:

new AlertDialog.Builder(this)
    .setTitle(R.string.welcome_title)
    .setIcon(null)
    .setMessage(R.string.welcome_message)
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    })
    .setNegativeButton(null, null)
    .setCancelable(true)
    .setOnCancelListener(new DialogInterface.OnCancelListener() {
        @Override
        public void onCancel(DialogInterface dialog) {
            dialog.dismiss();
        }
    })
    .create().show();

第二个是显示我的资产中的HTML文件:

public static void showHtmlDialog(Activity activity, String url, CharSequence title, CharSequence buttonText) {
    View layout = activity.getLayoutInflater().inflate(R.layout.scrollable_web_view, null);
    WebView webView = (WebView)layout.findViewById(R.id.web_content);
    webView.loadUrl(url);
    webView.setWebViewClient(WebUtils.createStandardWebViewClient(activity));

    return new AlertDialog.Builder(activity)
        .setView(layout)
        .setCancelable(true)
        .setIcon(null)
        .setNegativeButton(buttonText, getDialogNegativeBtnListener())
        .setTitle(title)
        .create()
        .show();
}

查看视图层次结构,我可以看到topPanel(标题和图标)占据了整个屏幕,内容就在那里 - 就在屏幕外(截图here)。

我想我应该提一下,我正在使用GreenDroid,尽管之前我还没有遇到过这个问题。定位Android 4.0.3。

1 个答案:

答案 0 :(得分:0)

想出来 - 问题出在我的主题上。有关活动的主题设定为:

<item name="android:background">@drawable/main_bg</item>

从主题中删除该行会将所有内容重新放回原位。