我已经搜索了很多解决方案,但没有任何效果。
更新:发布在底部
我有一个ScrollView和一个FrameLayout作为孩子。 然后我用LayoutParams以编程方式设置了一些EditText。
此外,我激活了ime选项,因此它将自动转到下一个Edittext。 当它现在进入下一个时,布局不会向上滚动,键盘会隐藏EditText。
像android这样的答案:windowSoftInputMode =" adjustPan / adjustResize" 没有工作。 我还尝试用
手动滚动Spieler1.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
int current_pos = scroll2.getScrollY();
scroll2.smoothScrollTo(0,(int)(current_pos + height/4));
scroll2.post(new Runnable() {
@Override
public void run() {
Spieler2.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
});
return true;
}
return false;
}
});
奇怪的事情发生了:它想要向上滚动,但然后突然回到覆盖EditText的原始位置。
我不知道,为什么它不会卷起来,但也许你有。
感谢您的回答。
答案 0 :(得分:0)
我怀疑smoothScrollTo()调用会导致您看到的行为。您可能希望为第一个EditText使用android:nextFocusDown属性,而不是设置OnKeyListener。