Android 将编辑文本定位在键盘上方
我有一个Android 将编辑文本定位在键盘上方,android,android-edittext,android-softkeyboard,Android,Android Edittext,Android Softkeyboard,我有一个EditText看起来像这样(带有“底部重力”): 当我按下EditText时,键盘会显示出来,我再也看不到我正在键入的内容(因为EditText现在位于键盘后面的底部)。按下EditText后,如何将其自动移动到键盘上方 最后,如果它看起来像这样就好了: 我的代码: // LINEAR LAYOUT LinearLayout layout = new LinearLayout(getApplicationContext()); layout.setOrientation(Linea
EditText
看起来像这样(带有“底部重力”):
当我按下EditText
时,键盘会显示出来,我再也看不到我正在键入的内容(因为EditText现在位于键盘后面的底部)。按下EditText
后,如何将其自动移动到键盘上方
最后,如果它看起来像这样就好了:
我的代码:
// LINEAR LAYOUT
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv);
// EDITTEXT
et.setGravity(Gravity.BOTTOM);
et.setInputType(InputType.TYPE_CLASS_TEXT);
et.setImeOptions(EditorInfo.IME_ACTION_SEND);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.BOTTOM;
et.setLayoutParams(params); // SOMETHING LIKE ONTOUCH -> MOVE UPWARDS
layout.addView(et);
使用
在您的清单文件中。
请参阅清单文件中的参考,为该特定活动添加以下代码
<activity android:windowSoftInputMode="adjustPan">
doc了解更多信息。有时在清单中设置活动
android:windowSoftInputMode="stateVisible|adjustResize"
android:windowSoftInputMode="adjustPan"
不使用包含EditText
的滚动视图
经过研究我发现
在某些情况下,必须设置父布局android:fitsystemwindows=“true”
。然后,在滚动条上方滚动EditText
的本机功能就像一个魔咒一样工作。只需在布局xml中设置android:fitsSystemWindows=“true”对我来说很有效。默认情况下,android会自动为您执行。答案是,比如这里->如果你从代码中获得一个活动,你也可以这样设置:activity.getWindow().setSoftInputMode(软输入调整平移)代码>欢迎使用堆栈溢出!你能解释一下你在哪里设置的吗,因为OP没有显示.xml。您是否对显示的代码进行了编辑,以修复OP的问题?
android:windowSoftInputMode="stateVisible|adjustResize"
android:windowSoftInputMode="adjustPan"