Android 当键盘弹出时调整编辑文本
我正在申请联系簿<代码>更新联系人活动负责更新现有联系人的详细信息 下图是Android 当键盘弹出时调整编辑文本,android,Android,我正在申请联系簿更新联系人活动负责更新现有联系人的详细信息 下图是更新联系人活动的界面 当我点击任何文本字段时,android设备键盘与文本字段重叠。所以为了解决这个问题,我在清单文件的更新活动中添加了以下代码行 android:windowSoftInputMode="adjustPan" 在添加了上面的行之后,当单击name字段时,我得到了以下界面 问题 目前,只有在键盘上单击或将光标从名称字段移动到电话字段时,电话字段才会显示在键盘上 我希望即使在单击“姓名”字段时,电话字段也位于
更新联系人
活动的界面
当我点击任何文本字段时,android设备键盘与文本字段重叠。所以为了解决这个问题,我在清单文件的更新活动中添加了以下代码行
android:windowSoftInputMode="adjustPan"
在添加了上面的行之后,当单击name字段时,我得到了以下界面
问题
目前,只有在键盘上单击或将光标从名称字段移动到电话字段时,电话字段才会显示在键盘上
我希望即使在单击“姓名”字段时,电话字段也位于键盘上方我如何才能做到这一点?
下面的图片是我想要的当名字字段被点击
设置“调整大小”而不是“平移”怎么样?您可以将编辑文本保持在软键盘上方。尝试如下:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
但是,您可以在清单中将其设置为活动(父)属性,而不是在运行时执行此操作。这也将在片段(子片段)中处理:
您将得到以下结果:
设置“调整大小”而不是“平移”怎么样?您可以将编辑文本保持在软键盘上方。尝试如下:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
但是,您可以在清单中将其设置为活动(父)属性,而不是在运行时执行此操作。这也将在片段(子片段)中处理:
您将得到以下结果:
将两个字段放入线性布局中
。像下面这样
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="bottom"
android:id="@+id/ll">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="name"
android:id="@+id/edit1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password"
android:id="@+id/edit2"/>
</LinearLayout>
将此标记写入活动中的Manifest.xml
android:windowSoftInputMode=“adjustResize”
将两个字段放入线性布局中。像下面这样
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="bottom"
android:id="@+id/ll">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="name"
android:id="@+id/edit1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password"
android:id="@+id/edit2"/>
</LinearLayout>
将此标记写入活动中的Manifest.xml
添加此项不会改变任何内容。键盘仍然与两个文本字段重叠我有点困惑,我是否必须将scrollview放在这个活动的父布局或最后一个textview上?从您的布局中,您有一个带有android:layout\u alignParentBottom=“true”属性的textview
我没有在父布局底部对齐的textview。我正在使用constraint布局
,而手机
文本视图位于更新联系人
按钮上方,该按钮位于父布局的底部放置除父布局以外的所有组件
尝试过此操作,但手机字段仅在我滚动或直接输入时显示在键盘上方单击电话字段。当键盘弹出时,我不能自动调整键盘上方的两个字段吗?以这种方式更改为ScrollView:<代码>android:WindowsOfInputMode=“StateAllwayShidden | adjustResize”
添加此项不会改变任何内容。键盘仍然与两个文本字段重叠我有点困惑,我是否必须将scrollview放在这个活动的父布局或最后一个textview上?从您的布局中,您有一个带有android:layout\u alignParentBottom=“true”属性的textview
我没有在父布局底部对齐的textview。我正在使用constraint布局
,而手机
文本视图位于更新联系人
按钮上方,该按钮位于父布局的底部放置除父布局以外的所有组件
尝试过此操作,但手机字段仅在我滚动或直接输入时显示在键盘上方单击电话字段。当键盘弹出时,我不能自动调整键盘上方的两个字段吗?以这种方式更改为ScrollView:。。。。。。。。。。。我试过了,但没什么改变。键盘仍然与字段重叠。尝试过,但没有改变任何内容。键盘仍然与字段重叠。