• Android 监听键盘弹出和收起.


    entends:http://stackoverflow.com/questions/36837066/how-to-validate-virtual-keyboard-visibility

    监听键盘弹出和收起.

    /*
    Somewhere else in your code
    */
    
    RelativeLayout mainLayout = findViewById(R.layout.main_layout); // You must use your root layout
    InputMethodManager im = (InputMethodManager) getSystemService(Service.INPUT_METHOD_SERVICE);     
    
    /*
    Instantiate and pass a callback
    */
    
    SoftKeyboard softKeyboard;
    softKeyboard = new SoftKeyboard(mainLayout, im);
    softKeyboard.setSoftKeyboardCallback(new SoftKeyboard.SoftKeyboardChanged()
    {
     @Override  
      public void onSoftKeyboardHide()   
      {
            // Code here  
      }  
    
      @Override 
       public void onSoftKeyboardShow()  
       { 
           // Code here 
       }   
    });     
    
    /*
    Open or close the soft keyboard programatically
    */
    
    softKeyboard.openSoftKeyboard();
    softKeyboard.closeSoftKeyboard();
    
    
    /*
    SoftKeyboard can catch keyboard events when an EditText gains focus and keyboard appears
    */
    
    
    /* Prevent memory leaks:
    */
    
    @Override
    public void onDestroy()
    {  
      super.onDestroy(); 
       softKeyboard.unRegisterSoftKeyboardCallback();
    }
    final View parentView= findViewById(R.id.myrootview);  
           parentView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                int heightDiff = root.getRootView().getHeight() - root.getHeight();
    
                Rect rectgle= new Rect();
                Window window= getWindow();
                window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
                int contentViewTop= 
                    window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
    
                if(heightDiff <= contentViewTop){
                    //Soft KeyBoard Hidden---button visible
    
                }else{
                    //Soft KeyBoard Shown---button hide
                }
    
    
             }
        });
  • 相关阅读:
    mpstat命令学习
    vmstat命令学习
    Oracle数据库坏块的恢复
    Oracle数据库字符集试验
    记一次windows下物理迁移数据库的过程
    NeoKylin5.6下安装部署达梦(DM7)数据库
    使用BBED模拟Oracle数据库坏块
    centos7之zabbix的监控H3C ER3200G2流量
    centos7之zabbix3.2的fping监控
    centos7之zabbix3.2搭建
  • 原文地址:https://www.cnblogs.com/niray/p/5437320.html
Copyright © 2020-2023  润新知