我有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);
答案 0 :(得分:31)
答案 1 :(得分:6)
答案 2 :(得分:0)
有时会在清单中设置活动
android:windowSoftInputMode="stateVisible|adjustResize"
android:windowSoftInputMode="adjustPan"
不适用于包含EditText
的滚动视图。
研究后我发现
要在某些情况下有效,必须设置android:fitsSystemWindows="true"
的父级布局。然后,在滚动条上方滚动EditText
的本机功能就像超级按钮一样工作。
答案 3 :(得分:0)
只需在布局xml中设置 android:fitsSystemWindows =“ true” 即可。