Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将编辑文本定位在键盘上方_Android_Android Edittext_Android Softkeyboard - Fatal编程技术网

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"