码迷,mamicode.com
首页 > 其他好文 > 详细

Andorid监听SoftKeyboard弹起事件

时间:2015-07-18 12:25:14      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

  对于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);
        }
    }

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

 

 

Andorid监听SoftKeyboard弹起事件

标签:

原文地址:http://www.cnblogs.com/xwgblog/p/4656460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!