Я пытался использовать Google в течение некоторого времени, и ни один из ответов, похоже, не работает для меня. У меня есть AlertDialog в новом фрагменте, и что бы я ни делал, он просто не будет центрироваться. Я чувствую, что упускаю что-то основное, например, неправильно раздуваю представление.
Вот как это выглядит сейчас: AlertDialog не по центру
Я хочу, чтобы взгляды были центрированы, а не слева. Удаление лишнего пробела было бы неплохо, но не обязательно, пока кнопки расположены по центру.
Вот как выглядит мой код:
<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. Что мне не хватает?
Если вы найдете мой ответ полезным, пожалуйста, проголосуйте за него.
Попробуйте указать 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>
вы должны установить android:gravity = "center" и android:layout_width = "match_parent"
в корневом элементе вашего линейного макета, чтобы центрировать все элементы внутри корневого элемента
можете ли вы опубликовать свой код внутри линейного макета