Относительная компоновка, textView не отображается под кнопкой? - PullRequest
0 голосов
/ 07 февраля 2020

Я работал над своим приложением и столкнулся с проблемой, когда при предварительном просмотре, когда я помещаю текст под кнопкой, например, кнопкой "roomservice", он не отображается на эмуляторе во время работы, но в превью. Что я здесь не так делаю?

Это мой xml код, поскольку это единственная часть кода, над которой я работал, я также добавил android:layout_below="@id/roomservice"/> в текстовое представление, но он все еще не работал .

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="match_parent"
android:background="@drawable/gradient"
tools:context=".MainMenu">

<ImageButton
    android:id="@+id/roomservice"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="26dp"
    android:layout_marginLeft="26dp"
    android:layout_marginTop="95dp"
    app:srcCompat="@drawable/ic_room_service_black_24dp" />

<TextView
    android:id="@+id/textView"
    android:layout_width="100dp"
    android:layout_height="37dp"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:layout_marginStart="34dp"
    android:layout_marginLeft="34dp"
    android:layout_marginBottom="497dp"
    android:text="Room Service"
    android:textColor="#F8F1F5F4"
    android:textFontWeight="14"
    android:layout_below="@id/roomservice"/>

<ImageButton
    android:id="@+id/transportation"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_centerVertical="true"
    android:layout_marginStart="237dp"
    android:layout_marginLeft="237dp"
    android:layout_marginTop="238dp"
    app:srcCompat="@drawable/ic_taxi" />

<ImageButton
    android:id="@+id/foodservice"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="239dp"
    android:layout_marginLeft="239dp"
    android:layout_marginTop="92dp"
    app:srcCompat="@drawable/ic_restaurant" />

<ImageButton
    android:id="@+id/maintenance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="24dp"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="234dp"
    app:srcCompat="@drawable/ic_maintenance" />

<ImageButton
    android:id="@+id/checkout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="26dp"
    android:layout_marginLeft="26dp"
    android:layout_marginTop="368dp"
    app:srcCompat="@drawable/ic_checkout" />

<ImageButton
    android:id="@+id/baggagecollection"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="234dp"
    android:layout_marginLeft="234dp"
    android:layout_marginTop="373dp"
    app:srcCompat="@drawable/ic_bag" />

1 Ответ

0 голосов
/ 07 февраля 2020

Попробуйте удалить строку:

android:layout_alignParentStart="true"

из разметки для просмотра текста. Этот параметр, согласно документации, "сделает начальный край этого представления совпадающим с начальным краем родителя". И TextView, и первый ImageButton имеют одного и того же родителя (макет), поэтому ваши представления могут генерироваться друг над другом.

Позиция 'start' также зависит от локали настройка устройства. Это может объяснить, почему макет отображается по-разному на разных устройствах.

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