LinearLayout android: layout_gravity = "center_vertical" работает во время разработки, но не во время выполнения - PullRequest
0 голосов
/ 31 марта 2020
    <?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>

во время разработки я получил линейное расположение по центру по вертикали, но когда я тестирую его на эмуляторе или на моем устройстве, линейное расположение отображается вверху экрана

Design Time

Run Time

Ответы [ 3 ]

3 голосов
/ 31 марта 2020

В вашем LinearLayout измените layout_gravity на gravity

2 голосов
/ 31 марта 2020

Не

 android:layout_gravity="center_vertical"

Вы должны использовать android:gravity="center_vertical"

Разместить объект в вертикальном центре его контейнера, не меняя его размера

0 голосов
/ 31 марта 2020

В макете:

изменить android:layout_height="wrap_content"

на

android:layout_height="match_parent"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...