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 メニュー用に、水平方向と垂直方向の両方の表示用に 2 つの異なるビューを作成しました。

縦に表示するとアバウトメニューがきれいに見えますが、横に表示すると文字の下の部分が切れてしまいます。私は 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 に答える