Android工作室!!不同屏幕尺寸的按钮

Android Studio!! Buttons for different screen sizes

我应该更改什么以使我的按钮可以在任何屏幕尺寸上自动调整? XML布局是这样的:

<LinearLayout 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="@drawable/white_background"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MyActivity">


<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Contact us: 2310251888 or at info@dei.edu.gr"
    android:id="@+id/textContact"
    android:textColor="#ff1e296b"
    android:textSize="15dp"
    android:gravity="center" />c

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Guest Login"
    android:id="@+id/guestlogin"
    android:onClick="buttonOnClick"
    android:textColor="#ffffffff"
    android:shape="rectangle"
    android:radius="3dp"
    android:layout_marginTop="94dp"
    android:layout_below="@+id/userlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="or"
    android:gravity="center_horizontal"
    android:textColor="#eeeeee" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Sign In"
    android:id="@+id/buttonSignIN"
    android:textColor="#ffffffff"
    android:layout_alignLeft="@+id/guestlogin"
    android:layout_alignStart="@+id/guestlogin"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/guestlogin"
    android:layout_alignEnd="@+id/guestlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b"
    android:onClick="signIn" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="or"
    android:gravity="center_horizontal"
    android:textColor="#eeeeee" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Sign Up"
    android:id="@+id/buttonSignUP"
    android:textColor="#ffffffff"
    android:layout_alignLeft="@+id/guestlogin"
    android:layout_alignStart="@+id/guestlogin"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/guestlogin"
    android:layout_alignEnd="@+id/guestlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b" />

在用于模拟器的 nexus 4 中,一切看起来都很好,但是当我 运行 应用程序在 phone 屏幕尺寸较小时,按钮覆盖了图像背景的一部分

What should I change so that my button can auto-adjust on any screen size?

您不需要更改任何内容,因为 dp 是一个独立于屏幕的值。见 docs.

然而,下面的

android:layout_marginTop="94dp"
android:layout_below="@+id/userlogin"

是不必要的,因为您将 View.

居中