AdjustResize 不适用于第二个 EditText
Posted
技术标签:
【中文标题】AdjustResize 不适用于第二个 EditText【英文标题】:AdjustResize not working For Second EditText 【发布时间】:2019-01-25 06:32:11 【问题描述】:我在登录页面中有两个 EditText。第一次只有一个可见。当我们打开 Activity 请求焦点到第一个 EditText 和下一个按钮时位于 EditText 下方。当我们单击下一个按钮时第二个 Edittext 将可见。按钮不显示在第二个 EditText 下方。它隐藏了第二个 Edittext。我想显示在第二个 Edittext 下面 这是我的代码:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context="com.valai.school.activities.LogInActivity">
<ScrollView
android:id="@+id/scrollView1"
android:layout_
android:layout_>
<RelativeLayout
android:layout_
android:layout_>
<TextView
android:id="@+id/toolbar_title_login"
style="@style/Toolbar"
android:background="@color/colorPrimary"
android:gravity="center"
android:text="@string/signInBtnText"
android:textAllCaps="false"
android:textColor="@color/colorWhite"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="RelativeOverlap" />
<ImageView
android:id="@+id/imgLogo"
android:layout_
android:layout_
android:layout_below="@id/toolbar_title_login"
android:layout_centerInParent="true"
android:layout_marginTop="25dp"
android:contentDescription="@string/app_name"
android:src="@mipmap/ic_launcher" />
<RelativeLayout
android:layout_
android:layout_
android:layout_below="@id/imgLogo"
android:padding="15dp">
<EditText
android:id="@+id/edtUserName"
android:layout_
android:layout_
android:layout_gravity="bottom"
android:layout_marginTop="50dp"
android:background="@drawable/edit_text_style"
android:drawableLeft="@drawable/ic_user_name_24dp"
android:drawablePadding="10dp"
android:drawableStart="@drawable/ic_user_name_24dp"
android:hint="@string/userNameHint"
android:inputType="textEmailAddress"
android:padding="10dp"
android:textColor="@android:color/black" />
<EditText
android:id="@+id/edtPassword"
android:layout_
android:layout_
android:layout_below="@+id/edtUserName"
android:layout_gravity="bottom"
android:layout_marginTop="15dp"
android:background="@drawable/edit_text_style"
android:drawableLeft="@drawable/ic_password_24dp"
android:drawablePadding="10dp"
android:drawableStart="@drawable/ic_password_24dp"
android:hint="@string/passwordHint"
android:inputType="textPassword"
android:padding="10dp"
android:textColor="@android:color/black"
android:visibility="gone" />
<RadioGroup
android:id="@+id/radioGroupLogInAs"
android:layout_
android:layout_
android:layout_below="@+id/edtPassword"
android:layout_marginTop="15dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv"
android:layout_
android:layout_
android:text="@string/login_as"
android:textColor="@color/colorBlack"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnAdmin"
android:layout_
android:layout_
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:checked="false"
android:text="@string/adminText"
android:textColor="@color/colorBlack"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnParent"
android:layout_
android:layout_
android:checked="false"
android:gravity="center"
android:text="@string/parentText"
android:textColor="@color/colorBlack"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnTeacher"
android:layout_
android:layout_
android:layout_marginLeft="5dp"
android:layout_marginStart="5dp"
android:checked="false"
android:text="@string/teacherText"
android:textColor="@color/colorBlack"
android:textSize="16sp" />
</RadioGroup>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
<Button
android:id="@+id/btnSignIn"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
android:text="@string/nextBtnText"
android:textAllCaps="true"
android:textColor="@color/colorWhite" />
【问题讨论】:
测试用例在你的ScrollView
中使用android:fillViewport="true"
还是不行
【参考方案1】:
尝试以下方法:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_>
<ScrollView
android:id="@+id/scrollView1"
android:layout_
android:layout_
android:layout_above="@id/btnSignIn"
android:fillViewport="true">
<RelativeLayout
android:layout_
android:layout_>
<TextView
android:id="@+id/toolbar_title_login"
android:background="@color/colorPrimary"
android:gravity="center"
android:text="Sign In"
android:textAllCaps="false"
android:layout_
android:layout_
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="RelativeOverlap" />
<ImageView
android:id="@+id/imgLogo"
android:layout_
android:layout_
android:layout_below="@id/toolbar_title_login"
android:layout_centerInParent="true"
android:layout_marginTop="25dp"
android:contentDescription="@string/app_name"
android:src="@mipmap/ic_launcher" />
<RelativeLayout
android:layout_
android:layout_
android:layout_below="@id/imgLogo"
android:layout_alignParentBottom="true"
android:padding="15dp">
<EditText
android:id="@+id/edtUserName"
android:layout_
android:layout_
android:layout_gravity="bottom"
android:layout_marginTop="50dp"
android:drawablePadding="10dp"
android:hint="EDT1"
android:inputType="textEmailAddress"
android:padding="10dp"
android:textColor="@android:color/black" />
<EditText
android:id="@+id/edtPassword"
android:layout_
android:layout_
android:layout_below="@+id/edtUserName"
android:layout_gravity="bottom"
android:layout_marginTop="15dp"
android:drawablePadding="10dp"
android:inputType="textPassword"
android:padding="10dp"
android:hint="EDT2"
android:textColor="@android:color/black"
android:visibility="gone" />
<RadioGroup
android:id="@+id/radioGroupLogInAs"
android:layout_
android:layout_
android:layout_below="@+id/edtPassword"
android:layout_marginTop="15dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv"
android:layout_
android:layout_
android:text="Login as"
android:textColor="@android:color/black"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnAdmin"
android:layout_
android:layout_
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:checked="false"
android:text="Admin Text"
android:textColor="@android:color/black"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnParent"
android:layout_
android:layout_
android:checked="false"
android:gravity="center"
android:text="Parent Text"
android:textColor="@android:color/black"
android:textSize="16sp" />
<RadioButton
android:id="@+id/radioBtnTeacher"
android:layout_
android:layout_
android:layout_marginLeft="5dp"
android:layout_marginStart="5dp"
android:checked="false"
android:text="Teacher Text"
android:textColor="@android:color/black"
android:textSize="16sp" />
</RadioGroup>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
<Button
android:id="@+id/btnSignIn"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
android:text="Next Button Text"
android:textAllCaps="true"
android:textColor="@android:color/white" />
</RelativeLayout>
【讨论】:
android:layout_above="@id/btnSignIn" 未找到资源 我没有收到这样的错误。 btnSignIn 存在且位于末尾。 但是 btnSignIn 会在 ScrollView Right 之后执行所以它不会找到 谢谢伙计,它正在工作,不知道为什么它显示错误 不客气。以上是关于AdjustResize 不适用于第二个 EditText的主要内容,如果未能解决你的问题,请参考以下文章
windowSoftInputMode:当键盘提示文本时,adjustResize 不适用于数字键盘
text windowSoftInputMode =“adjustResize”不适用于半透明动作/导航栏