我正在为应用程序设计一个“关于”菜单,并在选项菜单中使用以下代码来生成它:
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" />