гравитация = центр не работает в многооконном режиме в портретной ориентации

Я пытаюсь центрировать представление, но это не так. Корневой контейнер — это RelativeLayout. Это происходит только тогда, когда телефон находится в многооконном режиме портретной ориентации. Я пытался поместить представление в LinearLayout, RelativeLayout и FrameLayout, но ничего не работает. Я поражен тем, что тот же макет работает в многооконном режиме альбомной ориентации.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root_relative"
    android:background="@color/colorAccentWhite"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true"
    android:clickable="true">

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <TextView
            android:id="@+id/name_textview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="17sp"
            android:textColor="@color/black"
            android:visibility="invisible" />

    </RelativeLayout>

</RelativeLayout>

TextView располагается сверху слева, а не по центру по горизонтали. Как я могу заставить его работать?


person Ali    schedule 03.11.2017    source источник


Ответы (1)


Измените ширину используемого здесь TextView на «wrap_content» с «match_parent».

person GouravJn    schedule 03.11.2017