【问题标题】:set position of my window to top when softkeyboard is active in android当软键盘在android中处于活动状态时,将我的窗口位置设置为顶部
【发布时间】:2013-04-30 09:26:30
【问题描述】:

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

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

【问题讨论】:

    标签: android virtual-keyboard android-windowmanager


    【解决方案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.
    

    【讨论】:

    • 这扰乱了我的设计,我希望我的编辑文本应该对用户可见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2013-06-16
    • 2011-08-05
    • 2012-08-25
    • 1970-01-01
    • 2021-03-30
    • 2017-05-25
    相关资源
    最近更新 更多