简体   繁体   English

如何在滚动视图android内的屏幕底部对齐textview

[英]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.登录按钮

  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 我尝试使用android:fillViewport =“ true”但我的滚动消失了。因此,我无法将登录输入和按钮置于中心

  2. Copyright info is coming above login button when key board appear 键盘出现时,版权信息位于登录按钮上方

Put this in your activity in side onCreate Method 放在onCreate方法旁边的活动中

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 在您的TextView中删除

 android:layout_alignParentBottom="true"

add

 android:layout_below="@+id/linearLayout"

TextView move inside the RelativeLayout.like this TextView在RelativeLayout内部移动。

<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 如您所说的,在scrollview中放到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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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