android隐藏显示小键盘


 记录一下开发中虚拟键盘的使用,fragment和activity中不同的使用

fragment下点击其它位置隐藏小键盘,复制到initView()方法中

view.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        InputMethodManager manager = (InputMethodManager) getActivity()
        .getSystemService(Context.INPUT_METHOD_SERVICE);
if(event.getAction() == MotionEvent.ACTION_DOWN){ if(getActivity().getCurrentFocus()!=null && getActivity().getCurrentFocus().getWindowToken()!=null){ manager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } return false; } });

 

 

activity 下点击其它位置处隐藏小键盘,实现onTouchEvent方法

@Override
public boolean onTouchEvent(MotionEvent event) {
  InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  if(event.getAction() == MotionEvent.ACTION_DOWN){
    if(getCurrentFocus()!=null && getCurrentFocus().getWindowToken()!=null){
      manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
  }
  return super.onTouchEvent(event);
}

 

 

显示小键盘,在需要显示的控件onClick中调用,如点击的是button控件,记得获取editText的焦点

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM