我是android开发的初学者,目前正在android studio中创建一个项目,因此我创建了一个包含1个小图片,2个文本框和1个按钮的登录页面,但我希望它们能够在所有类型的设备中对齐当我尝试使用Redmi 3s 5英寸屏幕的设备时,看起来不错,但是当尝试使用其他设备时,它的对齐方式似乎不正确,所以有人可以告诉我如何为每种屏幕尺寸的设备对齐(例如4.5英寸,5英寸,5.5英寸,6英寸等)。
预先感谢
这是代码:
<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:hardwareAccelerated="true"
android:background="@color/white"
tools:context=".MainActivity">
<View
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:hardwareAccelerated="true" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="37dp"
android:background="@color/blend"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/imagelogo" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="58dp"
android:layout_marginBottom="294dp"
android:ems="10"
android:hint="@string/User_name"
android:inputType="text" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginEnd="147dp"
android:layout_marginBottom="227dp"
android:ems="10"
android:hint="@string/Pass_word"
android:inputType="textPassword" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="97dp"
android:layout_marginBottom="138dp"
android:ems="13"
android:background="@color/colorPrimary"
android:text="@string/login" />
和输出: Design + Blueprint
所以我希望所有类型的设备中的所有物品都放在同一位置
答案 0 :(得分:1)
将以下内容添加到您的项目级Gradle文件中:
compile 'com.intuit.sdp:sdp-android:1.0.5'
用法:在代码中,无论您要指定 10dp 之类的尺寸,都将其更改为 @ dimen / _10sdp 。就像我在此示例中指定的ImageView。
<ImageView
android:id="@+id/your_image"
android:layout_marginTop="@dimen/_10sdp"
android:layout_marginBottom="@dimen/_10sdp"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:src="@drawable/logo"/>
这将使您的应用程序在不同设备上的外观相同。