Android软键盘监听KeyboardWatcher
16lz
2021-01-26
转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/53705322
本文出自【吴孝城的CSDN博客】
在如登录界面上当输入框获得焦点时,为了将输入框显示出来,不被软键盘遮住,我们可以监听软键盘的显示与关闭来实现
首先在build.gradle中配置依赖
compile 'com.azimolabs.keyboardwatcher:keyboardwatcher:0.1.3'
布局是一个图片和一个输入框
MainActivity.java
package cn.wuxiaocheng.keyboardwatcher;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import com.azimolabs.keyboardwatcher.KeyboardWatcher;public class MainActivity extends AppCompatActivity implements KeyboardWatcher.OnKeyboardToggleListener { private ImageView img; private KeyboardWatcher mKeyboardWatcher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); img = (ImageView) findViewById(R.id.img); initKeyWatch(); } // 实现未实现的方法 @Override public void onKeyboardShown(int keyboardSize) { img.setVisibility(View.GONE); } // 实现未实现的方法 @Override public void onKeyboardClosed() { img.setVisibility(View.VISIBLE); } // 初始化软键盘监听 private void initKeyWatch() { mKeyboardWatcher = new KeyboardWatcher(this); mKeyboardWatcher.setListener(this); }}
然后在AndroidManifest.xml中添加android:windowSoftInputMode=”“配置
<activity android:name=".MainActivity" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> intent-filter>activity>
如果没有在AndroidManifest.xml里做相应配置,会报如下错误
Caused by: java.lang.IllegalArgumentException: Activity MainActivity should have windowSoftInputMode=”adjustResize”to make KeyboardWatcher working. You can set it in AndroidManifest.xml
更多相关文章
- Android(安卓)studio2.3.2 配置kotlin、Anko
- Eclipse 下配置Android开发环境
- PopupWindow软键盘弹出遮挡输入框
- Android(安卓)settings.db数据库中添加一条新的默认配置项
- fedora20 cocos2d-x 3.2 开发环境配置(for android)2
- Android(安卓)studio:Connection failed 网络配置错误
- 深入分析Android监听网络变化的坑
- Android利用系统广播---监听应用程序安装和卸载[转]
- android back和home键的捕获