在Android中将视图与屏幕中心对齐

时间:2014-05-08 08:48:23

标签: android android-layout

我一直坚持在布局中间放置滚动视图的问题。当我在平板电脑上看到它时,滚动视图已放置在屏幕顶部。我需要将滚动视图放置在屏幕的中心(center_vertical | center_horizo​​ntal),图像应位于(Center_vertical | top)。任何人都可以指导我。如何为所有类型的屏幕实现它

layout.xml

<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:background="@drawable/background"
    android:gravity="center_horizontal"
    tools:context=".SplashActivity" >

    <ImageView
        android:id="@+id/imgSplash"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_gravity="center_horizontal|top"
        android:layout_marginTop="20dp"
        android:contentDescription="@string/app_name"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_launcher1" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/imgSplash"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="45dp"
        android:fillViewport="true" >

        <LinearLayout
            android:id="@+id/mylay"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@drawable/edittext_design"
                android:hint="Username"
                android:paddingLeft="10dp" />

            <EditText
                android:id="@+id/pass"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittext_design"
                android:hint="Password"
                android:paddingLeft="10dp" />

            <Button
                android:id="@+id/but"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/bottom_shape"
                android:text="Login" />
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

// try this way,hope this will help you...

<?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:layout_height="match_parent"
    android:background="@drawable/background"
    android:gravity="center"
    tools:context=".SplashActivity"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/imgSplash"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="20dp"
        android:contentDescription="@string/app_name"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_launcher1" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:fillViewport="true" >

        <LinearLayout
            android:id="@+id/mylay"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:padding="20dp"
            android:gravity="center">

            <EditText
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@drawable/edittext_design"
                android:hint="Username"
                android:paddingLeft="10dp" />

            <EditText
                android:id="@+id/pass"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittext_design"
                android:hint="Password"
                android:paddingLeft="10dp" />

            <Button
                android:id="@+id/but"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/bottom_shape"
                android:text="Login" />
        </LinearLayout>
    </ScrollView>

</LinearLayout>

答案 1 :(得分:0)

试试这个

<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:background="@drawable/background"
    android:gravity="center"
    android:layout_gravity="center"
    tools:context=".SplashActivity" >

     <ImageView
        android:id="@+id/imgSplash"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_gravity="center_horizontal|top"
        android:layout_marginTop="20dp"
        android:contentDescription="@string/app_name"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_launcher" />

    <RelativeLayout 

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:gravity="center"
    android:layout_gravity="center"
    tools:context=".SplashActivity" >



    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/imgSplash"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="45dp"
        android:fillViewport="true" >

        <LinearLayout
            android:id="@+id/mylay"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@drawable/edittext_design"
                android:hint="Username"
                android:paddingLeft="10dp" />

            <EditText
                android:id="@+id/pass"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittext_design"
                android:hint="Password"
                android:paddingLeft="10dp" />

            <Button
                android:id="@+id/but"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/bottom_shape"
                android:text="Login" />
        </LinearLayout>
    </ScrollView>

</RelativeLayout>
</RelativeLayout>

答案 2 :(得分:0)

试试:只需添加相对布局;

<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_horizontal"
tools:context=".SplashActivity" >

<ImageView
    android:id="@+id/imgSplash"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_gravity="center_horizontal|top"
    android:layout_marginTop="20dp"
    android:contentDescription="@string/app_name"
    android:scaleType="fitCenter"
    android:src="@drawable/ic_launcher1" />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/imgSplash"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="45dp"
        android:fillViewport="true" >

        <LinearLayout
            android:id="@+id/mylay"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@drawable/edittext_design"
                android:hint="Username"
                android:paddingLeft="10dp" />

            <EditText
                android:id="@+id/pass"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittext_design"
                android:hint="Password"
                android:paddingLeft="10dp" />

            <Button
                android:id="@+id/but"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/bottom_shape"
                android:text="Login" />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>