相对布局,文本视图未显示在按钮下方?



我一直在开发我的应用程序,我遇到了一个问题,在预览中,每当我将文本放在按钮下方时,例如"客房服务"按钮,它在运行时不会在模拟器上显示它,但它在预览中显示。我在这里做错了什么?

这是我的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" />

尝试删除该行:

android:layout_alignParentStart="true"

从文本视图的标记中。根据文档,此参数将"使此视图的起始边缘与父视图的起始边缘匹配"。TextView和第一个ImageButton具有相同的父项(布局(,因此您的视图可以相互叠加生成。

"开始"位置还取决于设备的区域设置。这可以解释为什么布局在不同设备上的显示方式不同。

最新更新