我尝试Google已有相当长的时间,但所有答案似乎都不适合我。我在新的片段中有AlertDialog,无论我做什么,都不会自动居中。我觉得我缺少基本的东西,比如以错误的方式使视图膨胀。
这是现在的样子: AlertDialog not centered
我希望视图居中而不在左侧。只要按钮居中,去掉多余的空白也是可以的,但不是必须的。
这是我的代码:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
>
<!--Row 1. (colors 1-4)-->
<LinearLayout...>
<!--Row 2. (colors 5-8)-->
<LinearLayout...>
<!--Row 3. (colors 9-12)-->
<LinearLayout...>
</LinearLayout>
和
public class dialog_ThemePicker extends DialogFragment implements View.OnClickListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_themepicker, null);
...
AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
alertDialog.setTitle(R.string.dialog_theme_title);
alertDialog.setView(view);
alertDialog.show();
return alertDialog;
}
我试图将整个XML包装到RelativeLayout
中,与LayoutParams和StackOverflow的其他多个解决方案混淆。我想念什么?
答案 0 :(得分:0)
尝试将match_parent设置为rootLayout宽度,然后将center
选项设置为重力
这应该是这样。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical">
<!--Row 1. (colors 1-4)-->
<LinearLayout...>
<!--Row 2. (colors 5-8)-->
<LinearLayout...>
<!--Row 3. (colors 9-12)-->
<LinearLayout...>
</LinearLayout>
答案 1 :(得分:0)
您必须设置android:gravity="center"
和android:layout_width="match_parent"
在线性布局的根元素中将所有元素居中于根元素