zoukankan      html  css  js  c++  java
  • Andorid监听SoftKeyboard弹起事件

      对于Android键盘事件Google并没有提供一个好的接口去监听它,有时候就为项目需要就必须要自己去想办法去监听,由于我最近也要实现登陆与注册的功能,我的想法很简单实现起来也比较容易,主要的原理是在将Activity的配置android:windowSoftInputMode设置成adjust_resize当然设成其它我觉得也是可以的只是这还没有测试,这样在键盘弹出时Android会将而已进行调整,直接上代码呢。

    设置inputMode

     1 <activity
     2             android:name=".MainActivity"
     3             android:label="@string/app_name"
     4             android:windowSoftInputMode="adjustResize"
     5             >
     6             <intent-filter>
     7                 <action android:name="android.intent.action.MAIN" />
     8 
     9                 <category android:name="android.intent.category.LAUNCHER" />
    10             </intent-filter>
    11         </activity>

    设置监听而已变化

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //android.R.id.content 这是包含布局的父控件ID
            View contentView = findViewById(android.R.id.content);
         //设置而已监听器 contentView.addOnLayoutChangeListener(this); }

    根据值的变化判断键盘是否显示。

    
    
      @Override
        public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
            if(bottom < oldBottom){
                onKeyboardState(true);
            }else if(bottom > oldBottom){
                onKeyboardState(false);
            }
        }
    
    
    

     这样基本上就可以实现键盘的监听呢,我这样写基本上可以满足大部分需求。

     
  • 相关阅读:
    一些端口
    outlook 的微软手册
    目录摘要
    L2TP的包过滤规则
    outlook 的外出时助理程序对外部邮箱不起作用。1个解决办法和另外一个可能性
    用editplus 正则表达式修改联系人表
    Cisco NAT的理解。
    outlook 2003 无法记住密码
    ERD commander 2005的下载地址。
    outlook 2003启用日志记录排除故障。
  • 原文地址:https://www.cnblogs.com/xwgblog/p/4656460.html
Copyright © 2011-2022 走看看