0

ログイン画面があり、ボタンを中央に配置したいので使用しました android:layout_centerHorizontal="true"

レイアウトxmlは

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    android:background="#DDDDDD"
    android:gravity="center_vertical|center_horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/loginlayoutborders"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            gra=""
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/tv_url"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="URL:             "
                android:textColor="#444444"
                android:textSize="10pt" />

            <EditText
                android:id="@+id/et_url"
                android:layout_width="400dip"
                android:layout_height="50dip"
                android:layout_toRightOf="@id/tv_url"
                android:background="@android:drawable/editbox_background" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            gra=""
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/tv_un"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="User Name:"
                android:textColor="#444444"
                android:textSize="10pt" />

            <EditText
                android:id="@+id/et_un"
                android:layout_width="400dip"
                android:layout_height="50dip"
                android:layout_alignTop="@id/tv_un"
                android:layout_toRightOf="@id/tv_un"
                android:background="@android:drawable/editbox_background" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/tv_pw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tv_un"
                android:text="Password:"
                android:textColor="#444444"
                android:textSize="10pt" />

            <EditText
                android:id="@+id/et_pw"
                android:layout_width="400dip"
                android:layout_height="50dip"
                android:layout_alignTop="@id/tv_pw"
                android:layout_below="@id/et_un"
                android:layout_marginLeft="17dip"
                android:layout_toRightOf="@id/tv_pw"
                android:background="@android:drawable/editbox_background"
                android:password="true" />
        </LinearLayout>

        <Button
            android:id="@+id/btn_login"
            android:layout_width="100dip"
            android:layout_height="wrap_content"
            android:layout_below="@id/et_pw"
            android:layout_centerHorizontal="true"
            android:text="Login" />

        <TextView
            android:id="@+id/tv_error"
            android:layout_width="fill_parent"
            android:layout_height="40dip"
            android:layout_below="@id/btn_login"
            android:layout_marginLeft="15dip"
            android:layout_marginRight="9dip"
            android:layout_marginTop="15dip"
            android:text=""
            android:textColor="#AA0000"
            android:textSize="7pt" />
    </LinearLayout>

</RelativeLayout>

スタイルファイルは

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item>

    <shape>

        <gradient
            android:angle="90"
            android:startColor="#FFFFFF"
            android:endColor="#FFFFFF"
            android:type="linear" />

        <padding android:left="50dp" android:top="50dp" 
            android:right="50dp" android:bottom="50dp" /> 

        <corners android:radius="4dp" /> 

    </shape>

</item>

</selector>

しかし、ボタンは常に画面の左側にあります。それを修正する方法はありますか

4

2 に答える 2

2

android:layout_gravityボタンの中央に追加

 <Button
            android:layout_gravity="center"
            android:id="@+id/btn_login"
            android:layout_width="100dip"
            android:layout_height="wrap_content"
            android:layout_below="@id/et_pw"
            android:layout_centerHorizontal="true"
            android:text="Login" />
 </LinearLayout>
于 2012-06-03T13:02:06.530 に答える
1

これは、ボタンが LinearLayout 内にあるためです。とにかく、唯一の子は本当に意味がないので、RelativeLayout に LinearLayout を持ってください。

LinearLayouts なしで完全なレイアウトを構築することをお勧めします。

于 2012-06-03T13:02:59.120 に答える