0

我正在为应用程序设计一个“关于”菜单,并在选项菜单中使用以下代码来生成它:

    case DIALOG_ABOUT:
        builder = new AlertDialog.Builder(this);
        Context context = getApplicationContext(); 
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE); 
        View layout = inflater.inflate(R.layout.about_dialog, null); 
        builder.setView(layout);

        TextView title = new TextView(this);
        title.setText(R.string.about_title);
        title.setGravity(Gravity.CENTER);
        title.setTextSize(20);
        builder.setCustomTitle(title);
        builder.setPositiveButton("OK", null); 
        dialog = builder.create();
        break;

我为 about 菜单创建了两个不同的视图——水平和垂直视图。

垂直显示时,关于菜单看起来不错,但水平显示时,文本的底部被截断。我正在使用 LayoutInflator 和 View 控件,但对它们的工作原理没有太多了解,因此我假设它们当前正在填充到某些 Android 指定的大小。

如何创建对话框以占据整个屏幕或至少 90%?

编辑 - 我的布局看起来像这样:

垂直布局:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:src="@drawable/icon" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:text="@string/game_name"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:text="@string/game_description"
    android:textAppearance="?android:attr/textAppearanceMedium" />

横向布局:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:src="@drawable/icon" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:text="@string/game_name"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:text="@string/game_description"
    android:textAppearance="?android:attr/textAppearanceMedium" />

4

1 回答 1

1

您可以在对话框中调用以下命令来填充整个空间。

dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
于 2013-03-21T21:26:38.520 回答