我不是设计师,但最近,我被要求为我公司的应用程序更改登录屏幕 UI。
我从设计师那里得到了背景图片。此图像是完整的登录屏幕。这意味着它是一个带有输入框(用户名和密码框)的单个 PNG 文件。
当然,即使它看起来像一个完整的登录屏幕,放在那里也不行,因为输入框是假的。
我试图将EditText
小部件放在它上面,试图让它放在背景图像上的位置并将这两个小部件背景设置为无,这样用户就不会看到它。但是,在不同的设备上它只是显示不正确。有时在“背景输入框”上方,有时在其下方。无论如何,它不适合那里。
我想知道是否有一种方法可以让我解决这个问题。无论设备如何变化,都让小部件位于背景的确切位置。
这是我现在的布局,希望对您有所帮助:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainTableLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/pbackground"
android:stretchColumns="1" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="160dp" >
<EditText
android:id="@+id/txtBxPassword"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:ems="10"
android:gravity="center_vertical|center_horizontal|center"
android:height="33dp"
android:password="true"
android:singleLine="true"
android:width="160dp" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/txtBxUserID"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_above="@+id/txtBxPassword"
android:layout_alignLeft="@+id/txtBxPassword"
android:layout_marginBottom="10dp"
android:ems="10"
android:gravity="center_vertical|center_horizontal|center"
android:height="33dp"
android:singleLine="true"
android:width="160dp" />
</RelativeLayout>
</RelativeLayout>
这是我从 Eclipse 中捕获的图像,如您所见,我EditText
在背景上输入框的位置放置了两个框。但在真实设备上,它们会放错位置。
谢谢!