[英]How to align textview at the bottom of the screen inside a scroll view android
I am designing a login screen having following items 我正在设计一个具有以下项目的登录屏幕
Logo
商标
User Name
用户名
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 我的要求
- Log should be at the top
日志应该在顶部
- User name ,password and login button should be at the center of screen
用户名,密码和登录按钮应位于屏幕中央
- Copyright at the bottom
底部的版权
Problem faced 面临的问题
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”但我的滚动消失了。因此,我无法将登录输入和按钮置于中心
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.