アプリの「概要」メニューを設計しており、オプション メニューで次のコードを使用して生成しました。
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" />