转载请标明出处: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

更多相关文章

  1. Android(安卓)studio2.3.2 配置kotlin、Anko
  2. Eclipse 下配置Android开发环境
  3. PopupWindow软键盘弹出遮挡输入框
  4. Android(安卓)settings.db数据库中添加一条新的默认配置项
  5. fedora20 cocos2d-x 3.2 开发环境配置(for android)2
  6. Android(安卓)studio:Connection failed 网络配置错误
  7. 深入分析Android监听网络变化的坑
  8. Android利用系统广播---监听应用程序安装和卸载[转]
  9. android back和home键的捕获

随机推荐

  1. Android之 Notification 的多种用法--带
  2. Android UI组件进阶(1)——带进度条的按
  3. Android使用ApacheFtpServer实现Ftp服务
  4. 浅谈一种Android客户端架构设计
  5. Android 不得不说的VideoView的一些坑及
  6. Git新手入门与上传项目到远程仓库GitHub
  7. 高版本Android如何利用反射调用系统隐藏
  8. Android自定义组件之ListPopWindow
  9. Android(安卓)PopupWindow with ListView
  10. Android中的Apk的加固(加壳)原理解析和实