出于某种原因,我的所有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。
答案 0 :(得分:0)
想出来 - 问题出在我的主题上。有关活动的主题设定为:
<item name="android:background">@drawable/main_bg</item>
从主题中删除该行会将所有内容重新放回原位。