我正在设计一个包含以下项目的登录屏幕
徽标
用户名
密码 4.登录按钮
- 版权
醇>
下面是我尝试实现相同
的布局<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" />
我的要求
- 日志应位于顶部
- 用户名,密码和登录按钮应位于屏幕中央
- 版权归底部
醇>
遇到问题
由于我使用的是滚动视图,因此我无法填充高度。我尝试使用android:fillViewport =“true”但我的滚动消失了。所以我无法将登录输入和按钮放在中心
当键盘出现
答案 0 :(得分:2)
将其放在onCreate Method
旁边的活动中this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
或 在您的活动清单中:
android:windowSoftInputMode="adjustPan"
答案 1 :(得分:0)
在TextView删除
中 android:layout_alignParentBottom="true"
添加
android:layout_below="@+id/linearLayout"
TextView在RelativeLayout.like中移动
<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>
答案 2 :(得分:0)
正如您所说,在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>