<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:orientation="vertical" tools:context=".MainActivity"> <ImageView android:id="@+id/dice_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" app:srcCompat="@drawable/empty_dice" tools:src="@drawable/dice_1" /> <Button android:id="@+id/roll_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/roll" /> </LinearLayout>
во время разработки я получил линейное расположение по центру по вертикали, но когда я тестирую его на эмуляторе или на моем устройстве, линейное расположение отображается вверху экрана
В вашем LinearLayout измените layout_gravity на gravity
layout_gravity
gravity
Не
android:layout_gravity="center_vertical"
Вы должны использовать android:gravity="center_vertical"
android:gravity="center_vertical"
Разместить объект в вертикальном центре его контейнера, не меняя его размера
В макете:
изменить android:layout_height="wrap_content"
android:layout_height="wrap_content"
на
android:layout_height="match_parent"