1

我想在虚拟键盘处于活动状态时管理我的屏幕。在我有两个想法之前 1.
将父布局放在滚动视图中:但这里的问题是当我运行应用程序时,当虚拟键盘处于活动状态时,我的布局滚动到顶部,但没有孩子控件正在工作,即内部滚动视图和其他按钮被阻止。

2.获取edittext的坐标,这样我就可以根据eddittext的Y坐标来处理我的窗口移动到顶部了。这里使用的代码是

 et.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub


            int x=et.getLeft();
            int y=et.getTop();


            return true;
        }
    });

现在我不知道如何将这个位置带到我的窗口。请任何人帮助我,我的想法是否可行。如果没有,那么建议我有好主意。提前致谢。

我的Android SDK版本是:4.2

4

1 回答 1

1
add below code to your activities onCreate() method : 

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
getWindow().setAttributes(lp);

now, whenever softKeyboard appears Framework will resize activity window to fit in to available visible rectangle over softKeyboard.
于 2013-04-30T10:59:52.107 回答