我有一个带有2 TextInputEditText的片段。当我开始活动时,软键盘将覆盖我的部分输入,而当单击键盘上的NEXT时,焦点将移至键盘完全覆盖的第二个输入。可能只有在关闭键盘后才能看到输入的内容。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/back_gradient"
android:orientation="vertical"
android:padding="@dimen/DP10"
tools:context=".activities.MainActivity">
<TextView
android:id="@+id/tv_new_course_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/SP22"
android:layout_marginBottom="150dp"
android:text="@string/newCourse"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/SP26"
android:textStyle="bold"/>
<com.google.android.material.textfield.TextInputLayout
style="@style/LoginTextInputLayoutStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/DP20"
android:layout_marginRight="@dimen/DP20"
android:hint="@string/courseName">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_new_course_name"
style="@style/LoginTextInputEditStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:nextFocusDown="@+id/et_new_course_acronym"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/LoginTextInputLayoutStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/DP20"
android:layout_marginRight="@dimen/DP20"
android:hint="@string/acronym">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_new_course_acronym"
style="@style/LoginTextInputEditStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_save_course"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/DP40"
android:layout_marginBottom="@dimen/DP10"
android:text="@string/save"
android:textColor="@color/color_ok"
app:cornerRadius="@dimen/DP15"
app:strokeColor="@color/color_ok"
app:strokeWidth="@dimen/DP2" />
如果对活动进行夸大,则相同的布局可以很好地工作,但这是一个片段。
答案 0 :(得分:2)
有多种方法可以解决此问题:
过程1
使用ScrollView
作为根布局,并将所有其他布局放入其中。
过程2 (推荐)
在清单文件中使用android:windowSoftInputMode="adjustPan|adjustResize"
。
here.
答案 1 :(得分:1)
请在清单的活动属性中添加
<activity android:name="Your_Activity" android:windowSoftInputMode="adjustPan" ></activity>