android 移动端开发之软键盘一系列大全

我们在做app的时候总是会遇到软键盘弹起引起的各种不适,这里记录几种情况以便以后方便查阅:

1、软键盘弹出时布局被压缩,是因为我们在布局中使用了比重,如果不想被压缩,则在清单文件当前注册的活动中配置:

android: windowSoftInputMode = "adjustPan"


2、如果想用户看到自己输入的内容,则在清单文件中这样配置:

android:windowSoftInputMode = "adjustResize"

//还有很多属性,用的不多!

3、在使用侧滑(还有其他很多请况)的时候,点击edittext的时候弹出软键盘,点击外面让侧滑消失,这时候软键盘并没有被收回,这时候就需要我们主动关闭它,在根布局中添加事件拦截:

drawer.setOnTouchListener(new View.OnTouchListener() {
          @Override
            public boolean onTouch(View v, MotionEvent event) {
                InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
                return imm.hideSoftInputFromWindow(MyOrder.this.getCurrentFocus().getWindowToken(), 0);
            }
    });

4、还有强制关闭官键盘和强制打开软键盘的方法:

强制关闭软键盘
  InputMethodManager imm = (InputMethodManager) getSystemService(MyOrder.this.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);


强制打开软键盘
                InputMethodManager imm = (InputMethodManager) this
                        .getSystemService(this.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值