7

ログイン画面のレイアウトをデザインしたいので、次のコードを試してみました。いくつかのハードコードされた値を使用して、いくつかの画面サイズの中央の緑色のレイアウト中央を取得しました。ハードコードされた値を使用しても、さまざまな画面サイズでは機能しないことを私は知っています。私はSOでたくさんのことを試しました。最善の方法を教えてください ここに画像の説明を入力してください

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" >

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/register_header"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/title_image"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:src="@drawable/logo_blue" />


    </RelativeLayout>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
         android:layout_marginLeft="150dp"
        android:layout_marginRight="150dp"
        android:layout_marginTop="50dp"
        android:layout_marginBottom="50dp"
        android:orientation="vertical" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/UserInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/WelcomeInfo"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/user"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="User Name"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/username"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enter username"
                android:singleLine="true"
                android:textColor="#000000" >
            </EditText>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/PassInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/UserInfo"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/pwd"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Password"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/password"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enterpassword"
                android:singleLine="true"
                android:textColor="#000000" />
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/StoreNumInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/WelcomeInfo"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/num"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Store Number"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/store_num"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enter the Store number"
                android:imeOptions="actionDone"
                  android:password="true"

                android:textColor="#000000" >
            </EditText>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/Options"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/PassInfo"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/signed_in"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Stay Signed-in"
                android:textColor="#000000" />


            <Button
                android:id="@+id/login"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Login"
                android:textSize="28dp"
                android:textStyle="bold" />
        </LinearLayout>


    </LinearLayout>
</LinearLayout> </ScrollView>

4

6 に答える 6

18

緑のレイアウトのカバーをRelativeLayoutとして使用します。次に、このようにgreenLayoutを定義します。 android:layout_centerHorizontal="true" android:layout_centerVertical="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:orientation="vertical" >

<LinearLayout
    android:id="@+id/lin_all"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical" >
</LinearLayout>

</RelativeLayout>
于 2013-01-04T03:57:21.620 に答える
8

これを試して:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical" >

// put all your xml code here


    </LinearLayout>

編集したコードを試してください:

新しい編集:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" 
    android:weightSum="1">


   <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/register_header"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.1"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/title_image"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:src="@drawable/logo_blue"  />


    </RelativeLayout>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_weight="0.9"
        android:gravity="center"
        android:orientation="vertical" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/UserInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/WelcomeInfo"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/user"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="User Name"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/username"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enter username"
                android:singleLine="true"
                android:textColor="#000000" >
            </EditText>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/PassInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/UserInfo"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/pwd"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Password"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/password"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enterpassword"
                android:singleLine="true"
                android:textColor="#000000" />
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/StoreNumInfo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/WelcomeInfo"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/num"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Store Number"
                android:textColor="#000000"
                android:textSize="10pt"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/store_num"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:hint="Enter the Store number"
                android:imeOptions="actionDone"
                  android:password="true"

                android:textColor="#000000" >
            </EditText>
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/Options"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/PassInfo"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/signed_in"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Stay Signed-in"
                android:textColor="#000000" />


            <Button
                android:id="@+id/login"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Login"
                android:textSize="28dp"
                android:textStyle="bold" />
        </LinearLayout>


    </LinearLayout>
</LinearLayout>
于 2013-01-04T04:16:11.097 に答える
1

さまざまな画面サイズで動作するには、画面サイズに基づいてさまざまなxmlファイルを作成することをお勧めします........ここでそれを見ることができます http://developer.android.com/guide/practices/screens_support.html。 ..

于 2013-01-04T05:10:57.253 に答える
1

このXMLコードを試してみてください、それはあなたの問題を解決します。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:orientation="vertical" >

        <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/register_header"
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/title_image"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="5dp"
                android:gravity="center"
                android:src="@drawable/ic_launcher" />
        </RelativeLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/UserInfo"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/user"
                    android:layout_width="match_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="User Name"
                    android:textColor="#000000"
                    android:textSize="10pt"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/username"
                    android:layout_width="match_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:hint="Enter username"
                    android:singleLine="true"
                    android:textColor="#000000" >
                </EditText>
            </LinearLayout>

            <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/PassInfo"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/UserInfo"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/pwd"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Password"
                    android:textColor="#000000"
                    android:textSize="10pt"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/password"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:hint="Enterpassword"
                    android:singleLine="true"
                    android:textColor="#000000" />
            </LinearLayout>

            <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/StoreNumInfo"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/WelcomeInfo"
                android:gravity="center_vertical"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/num"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Store Number"
                    android:textColor="#000000"
                    android:textSize="10pt"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/store_num"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:hint="Enter the Store number"
                    android:imeOptions="actionDone"
                    android:password="true"
                    android:textColor="#000000" >
                </EditText>
            </LinearLayout>

            <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/Options"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/PassInfo"
                android:orientation="horizontal" >

                <CheckBox
                    android:id="@+id/signed_in"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Stay Signed-in"
                    android:textColor="#000000" />

                <Button
                    android:id="@+id/login"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Login"
                    android:textSize="28dp"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</ScrollView>
于 2013-01-04T05:26:22.283 に答える
0

親のLinearLayoutに、これを追加します

android:orientation="vertical"
android:gravity="center"

于 2016-11-30T06:07:10.453 に答える
0

私の解決策

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:gravity="center_vertical"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

   <Button
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_gravity="center"
       android:text="Sample Button"
       />


</LinearLayout>
于 2019-08-22T12:22:44.430 に答える