Android AlertDialog topPanel view выталкивает контент с экрана - PullRequest
0 голосов
/ 23 марта 2012

По какой-то причине все мои AlertDialogs отталкивают представление контента от экрана. Первый пример просто показывает простой текст:

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 (заголовок и значок) занимают почти весь экран, а содержимое там - просто за кадром (скриншот здесь ).

Полагаю, мне следует упомянуть, что я использую GreenDroid, хотя у меня раньше не было этой проблемы. Ориентация на Android 4.0.3.

1 Ответ

0 голосов
/ 24 марта 2012

Разобрался - проблема была с моей темой.Тема, заданная для рассматриваемого занятия, имела:

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

Удаление этой строки из темы вернуло все на место.

...