У меня есть фрагмент с таким макетом:
<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 я вижу это:
Что хорошо, но на эмуляторе или на реальном устройстве я вижу:
Что мне не хватает? Как мне центрировать этот текст в родительском элементе?
Родительский макет — это 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>
Согласен с @RumitPatel. Попробуйте проверить, есть ли у родительского тега android:layout_width = "match_parent"
выложи полный xml..
Измените FrameLayout android:layout_width = "wrap_content" на android:layout_width = "match_parent"
Просто установите android:layout_width = "match_parent" на fragmeLayout. и вы настроены.
Попробуйте добавить эти свойства:
android:layout_centerHorizontal = "true"
android:layout_centerVertical = "true"
Спасибо, но у меня такое же поведение.
Это не сработает, потому что в этом коде FrameLayout есть android:layout_width = "wrap_content". Проверьте ответ @Nilesh Rathod - это хороший ответ
Родительский макет не был добавлен, когда я ответил на вопрос. @ТамирАбутбул
Хорошо, что я не знал
Вам нужно изменить ширину вашего 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>
Никогда не думал о родительском макете. match_parent справился. Большое спасибо!
В вашем компоновка кадра есть ошибка. Просмотрите его документацию, чтобы прочитать подробности.
Исправьте макет фрейма в родительском XML-содержимом:
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:id = "@+id/frame_layout"/>
опубликовать XML-файл родителя также.