简体   繁体   中英

How to align textview at the bottom of the screen inside a scroll view android

I am designing a login screen having following items

  1. Logo

  2. User Name

  3. Password 4.Login Button

  4. Copyright

Below is the layout I have tried to implement the same

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/ActivityStyle"
android:orientation="vertical"
tools:context=".abc.ui.main.login.view.LoginActivity">
<!-- Login progress -->
<ProgressBar
    android:id="@+id/login_progress"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginBottom="8dp"
    android:visibility="gone" />

<ScrollView
    android:id="@+id/login_form"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical">

    <RelativeLayout
        android:id="@+id/email_login_form"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/img_abc_logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp"
            android:src="@mipmap/abc_logo" />

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/img_abc_logo"
            android:layout_marginTop="80dp"

            android:orientation="vertical">


            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <android.support.v7.widget.AppCompatEditText
                    android:id="@+id/edit_user_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="16dp"
                    android:hint="@string/prompt_email"
                    android:inputType="textEmailAddress"
                    android:maxLines="1"
                    android:paddingTop="10dp"
                    android:singleLine="true"
                    android:textColor="@color/fontColor"
                    android:textColorHint="@color/copy_right_font_color" />

            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <android.support.v7.widget.AppCompatEditText
                    android:id="@+id/edit_password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/prompt_password"
                    android:imeActionId="@+id/login"
                    android:imeActionLabel="@string/action_sign_in_short"
                    android:imeOptions="actionUnspecified"
                    android:inputType="textPassword"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:textColor="@color/fontColor"
                    android:textColorHint="@color/copy_right_font_color" />
            </android.support.design.widget.TextInputLayout>

            <Button
                android:id="@+id/button_login"
                style="?android:textAppearanceSmall"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:height="55dp"
                android:text="@string/action_sign_in"
                android:textStyle="bold" />

        </LinearLayout>


    </RelativeLayout>
</ScrollView>

<TextView
    style="@style/CopyRightTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:paddingTop="30dp"
    android:text="@string/copy_right_text" />

My requirement

  1. Log should be at the top
  2. User name ,password and login button should be at the center of screen
  3. Copyright at the bottom

Problem faced

  1. Since I am using scroll view I am not able to fill the height . I tried with android:fillViewport="true" but my scroll disappear.So I am not able to place login input and button to center

  2. Copyright info is coming above login button when key board appear

Put this in your activity in side onCreate Method

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

or In Manifest at your activty:

android:windowSoftInputMode="adjustPan"

In your TextView Remove

 android:layout_alignParentBottom="true"

add

 android:layout_below="@+id/linearLayout"

TextView move inside the RelativeLayout.like this

<TextView
style="@style/CopyRightTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout"
android:layout_centerHorizontal="true"
android:paddingTop="30dp"
android:text="@string/copy_right_text" />
</RelativeLayout>
</ScrollView>

as you are saying inside scrollview put it inside relative layout

    <TextView
        style="@style/CopyRightTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       android:layout_below="@+id/linearLayout"
        android:layout_centerHorizontal="true"
        android:paddingTop="30dp"

        android:text="@string/copy_right_text" />

</RelativeLayout>
</ScrollView>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM