【发布时间】:2015-03-23 13:15:35
【问题描述】:
如何调整 EditTexts 和 Buttons 以适应 android 的任何屏幕尺寸?我试图将一些透明的 EditTexts 和 Buttons 放在某些位置以适合我的背景图像,但是当我改变屏幕大小时,一切都会改变。这是我的背景图片和我的 XML 代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_page"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="10sp" >
<EditText
android:id="@+id/etLogin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10sp"
android:layout_marginTop="135sp"
android:background="@android:color/transparent"
android:hint="Login"
android:inputType="textCapWords"
android:padding="8sp" />
<EditText
android:id="@+id/etPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="0sp"
android:layout_marginTop="-3sp"
android:background="@android:color/transparent"
android:hint="Password"
android:inputType="textPassword"
android:padding="8sp" />
<Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12sp"
android:background="@android:color/transparent"
android:minHeight="40sp"
android:minWidth="500sp"
android:text="Login"
android:textColor="#08b0ef" />
</LinearLayout>
我尝试了其他单位,如 dp、dpi 和 dip,但没有人给出预期的结果。
【问题讨论】:
-
您应该对视图使用 dp,而不是 sp。 sp 仅适用于文本大小。
-
正如我在问题中所说的,我已经尝试过了。
-
我的不是解决方案。只是给
use the proper units的小费。 -
因为我不确定
adjust EditTexts and Buttons to fit any screen size是什么意思。 -
我的意思是我希望 EditTexts 保持在深蓝色区域,而按钮保持在白色区域,无论设备的结果如何。