Android:不同屏幕尺寸的布局对齐

时间:2013-08-16 08:39:19

标签: android button layout relativelayout

我在相对布局上创建了一个按钮和edittext。我将我在Nexus S屏幕上制作的对象居中对齐,但它看起来并不像我想要的那样在其他屏幕尺寸上。

这是我的代码和图片链接http://flic.kr/p/fuYgdf我没有10个声望点来发布图片:

    <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:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
  android:background= "@drawable/chalk"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/password"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="80dp"
    android:background="@android:color/transparent"
    android:gravity="center"
    android:onClick="login"
    android:text="Login"
    android:textStyle="bold" />

<EditText
    android:id="@+id/password"
    android:layout_width="300dp"
    android:layout_height="100dp"
    android:layout_above="@+id/button1"
    android:layout_alignLeft="@+id/username"
    android:layout_marginBottom="40dp"
    android:layout_weight="0.03"
    android:background = "@android:color/transparent"
    android:ems="10"
    android:gravity="center"
    android:hint="password"
    android:inputType="textPassword"
    android:singleLine="true" />

<EditText
    android:id="@+id/username"
    android:layout_width="300dp"
    android:layout_height="90dp"
    android:layout_alignBottom="@+id/password"
        android:background = "@android:color/transparent"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="78dp"
    android:layout_weight="10.04"
    android:ems="10"
    android:gravity="center"
    android:hint="username"
    android:singleLine="true" >

    <requestFocus />
</EditText>

所以基本上,我想让它们在任何屏幕中居中对齐。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

<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:gravity="center"
android:layout_gravity="center"
android:orientation="vertical"
android:padding="5dp"
 android:background= "@drawable/chalk"
>

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    android:gravity="center"
    android:layout_gravity="center"
    android:onClick="login"
    android:text="Login"
    android:textStyle="bold" />

<EditText
    android:id="@+id/password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background = "@android:color/transparent"
    android:ems="10"
    android:gravity="center"
     android:layout_gravity="center"
     android:layout_marginTop="30dp"
    android:hint="password"
    android:inputType="textPassword"
    android:singleLine="true" />

<EditText
    android:id="@+id/username"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
        android:background = "@android:color/transparent"
    android:ems="10"
    android:gravity="center"
     android:layout_gravity="center"
     android:layout_marginTop="30dp"
    android:hint="username"
    android:singleLine="true" >

    <requestFocus />
</EditText>
</LinearLayout>

答案 1 :(得分:0)

试试这个::

我在我的应用中使用了这段代码,而且效果很好。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingTop="20dp"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:paddingBottom="10dp" >


    <EditText
        android:id="@+id/etEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_marginTop="10dp" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/etPassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Password"
        android:inputType="textPassword" />

    <Button
    android:id="@+id/btnSend"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:text="Login" />
</LinearLayout>

希望它能帮助!!