layout_centerInParent в RelativeLayout не центрируется на эмуляторе или устройстве - PullRequest
3 голосов
/ 03 апреля 2019

У меня есть фрагмент с этим макетом:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="My Fragment"
        android:textSize="30sp"
        android:layout_centerInParent="true"/>
</RelativeLayout>

В предварительном просмотре Android Studio я вижу это:

Enter image description here

Что нормально, но на эмуляторе или на реальном устройстве я вижу:

Enter image description here

Чего мне не хватает?Как центрировать этот текст в родительском элементе?

Родительский макет: FrameLayout:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:id="@+id/toolbar"/>

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/frame_layout">

    </FrameLayout>
</LinearLayout>

Ответы [ 3 ]

2 голосов
/ 03 апреля 2019

Вам необходимо изменить ширину FrameLayout

Измените FrameLayout ширину на android:layout_width="match_parent"

ОБРАЗЕЦ КОДА

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:id="@+id/toolbar"/>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/frame_layout">

    </FrameLayout>
</LinearLayout>
0 голосов
/ 03 апреля 2019

В вашем макете кадра есть ошибка .Прочитайте документацию, чтобы прочитать подробности.

Исправьте структуру фрейма в родительском XML-контенте:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/frame_layout"/>
0 голосов
/ 03 апреля 2019

Попробуйте добавить эти свойства:

 android:layout_centerHorizontal="true"
 android:layout_centerVertical="true"
...