我有一个XML脚本,并且在android studio编辑器中,预览窗口显示了应该显示的屏幕(请参见下图)。在仿真器上运行时,看起来所有组件都在移动位置。
这是布局的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite"
tools:context="com.example.ansel.companionapp.Main_menu">
<ImageView
android:id="@+id/logo"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignParentEnd="true"
android:layout_marginTop="40dp"
android:layout_marginEnd="113dp"
android:src="@drawable/companionapp" />
<TextView
android:id="@+id/infoText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:paddingTop="20dp"
android:text="Large Text"
android:textColor="@color/colorPrimary"
android:textSize="18dp" />
<Button
android:id="@+id/TPS_button"
android:layout_width="146dp"
android:layout_height="wrap_content"
android:layout_below="@+id/infoText"
android:layout_alignStart="@+id/infoText"
android:layout_marginStart="-25dp"
android:layout_marginTop="53dp"
android:background="@drawable/button_shape"
android:onClick="TPS"
android:text="@string/ThirdPersonShooter"
android:textColor="@color/colorWhite" />
<Button
android:id="@+id/TDS_Button"
android:layout_width="146dp"
android:layout_height="wrap_content"
android:layout_below="@+id/TPS_button"
android:layout_alignStart="@+id/infoText"
android:layout_marginStart="-23dp"
android:layout_marginTop="38dp"
android:background="@drawable/button_shape"
android:onClick="TwoDS"
android:text="@string/TwoDimensionalShooter"
android:textColor="@color/colorWhite" />
</RelativeLayout>
这是我想要的布局与实际布局。
答案 0 :(得分:2)
我删除了所有负边距和对齐方式,并为所有视图添加了
android:layout_centerHorizontal="true"
所以检查一下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite"
tools:context="com.example.ansel.companionapp.Main_menu">
<ImageView
android:id="@+id/logo"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:src="@drawable/companionapp" />
<TextView
android:id="@+id/infoText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:paddingTop="20dp"
android:text="Large Text"
android:textColor="@color/colorPrimary"
android:textSize="18dp" />
<Button
android:id="@+id/TPS_button"
android:layout_width="146dp"
android:layout_height="wrap_content"
android:layout_below="@+id/infoText"
android:layout_centerHorizontal="true"
android:layout_marginTop="53dp"
android:background="@drawable/button_shape"
android:onClick="TPS"
android:text="@string/ThirdPersonShooter"
android:textColor="@color/colorWhite" />
<Button
android:id="@+id/TDS_Button"
android:layout_width="146dp"
android:layout_height="wrap_content"
android:layout_below="@+id/TPS_button"
android:layout_centerHorizontal="true"
android:layout_marginTop="38dp"
android:background="@drawable/button_shape"
android:onClick="TwoDS"
android:text="@string/TwoDimensionalShooter"
android:textColor="@color/colorWhite" />
</RelativeLayout>