我必须显示帮助信息,如何使用该程序的说明,我已经使用带有ScrollView的自定义XML选择了AlertDialog。 我在平板电脑,xperia neo和2个虚拟设备上进行了测试。其中3个很好,但在2.3小屏幕中,对话框太大,可视化中有一个错误,很难关闭。知道为什么吗? 这是我的代码: ScrollView的XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:textSize="10sp">
</TextView>
</ScrollView>`
我的代码叫它:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.msg_help)
.setCancelable(false)
.setView(LayoutInflater.from(this).inflate(R.layout.dialog_scrollable,null))
.setTitle(R.string.help_title)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
alert.show();
答案 0 :(得分:1)
AlertDialog
如果内容不适合屏幕,则会自动滚动内容。您只需使用 builder.setText()
builder.setMessage()
将文本设置到对话框,而不是夸大自定义XML布局。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.msg_help)
.setCancelable(false)
.setTitle(R.string.help_title)
.setMessage(R.string.help)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
请注意,我也删除了alert.getWindow().setLayout()
行,因为我觉得它没用。