По какой-то причине все мои 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.