我们在 Activity 中使用 Fragment。Activity 包含提交按钮,Fragment 包含表单输入。
现在,当我们打开键盘时, Activity 按钮会自动出现在键盘上方。我们如何粘住该按钮并仅向上移动 fragment 部分。
我们只想把更新按钮放在最后。
最佳答案
我已经添加了这段代码,它对我有用。此代码将在键盘打开时隐藏按钮,并在键盘关闭时再次显示。
parentView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); rootView.getWindowVisibleDisplayFrame(r); int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top); if (heightDiff > 100) { // if more than 100 pixels, its //Hide Show Key board view_one.setVisibility(View.GONE); view_two.setVisibility(View.GONE); }else{ //ok now we know the keyboard is down... view_one.setVisibility(View.VISIBLE); view_two.setVisibility(View.VISIBLE); } } });
关于android - 修复键盘打开时父 Activity 中的按钮位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563320/