Android软键盘监听KeyboardWatcher

原创 2016年12月17日 11:02:03

转载请标明出处: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软键盘(六)如何监听到软件盘显示与隐藏的事件

有时候我们需要监听软件盘隐藏事件。但是官方并没有提供相关的监听回调,这时我们就需要通过计算布局来判断软键盘的关闭事件了。思路与上一篇文章Android软键盘(五)如何判断软键盘是否显示相似。 看效果图...
  • sinat_31311947
  • sinat_31311947
  • 2016年12月28日 22:01
  • 5832

【Android应用】【监听软键盘弹起与关闭】

背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起...
  • bear_huangzhen
  • bear_huangzhen
  • 2015年05月21日 20:35
  • 59963

如何监听软键盘的弹出、隐藏(亲测可用)

看了N多文章,终于找到了答案第一步这篇文章解决了在不是全屏模式下,监听软键盘弹出隐藏,但是在全屏模式下,无效 注意:必须设置 android:windowSoftInputMode="adj...
  • Android_Study_OK
  • Android_Study_OK
  • 2016年09月24日 00:55
  • 4492

android监听软键盘状态

  • 2015年09月14日 10:23
  • 632KB
  • 下载

android 监听软键盘状态(弹起还是收起)

  • 2013年09月10日 16:34
  • 62KB
  • 下载

Android App监听软键盘按键的三种方式

我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面;在点击搜索框的时候,点击右下角的search符号键...
  • jdsjlzx
  • jdsjlzx
  • 2014年02月08日 10:57
  • 12537

Android 软键盘监听事件

Android软键盘的隐藏显示研究 Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。      那么,弹出软键盘后必然会...
  • chang_xing
  • chang_xing
  • 2012年10月24日 10:41
  • 28717

Android监听软键盘,布局上移不遮挡输入框

效果图: 整体思路是监听软键盘弹出,给需要评议的布局添加属性动画(位移) 监听软键盘的状态: public class SoftKeyBoardListener { private Vi...
  • EUEHEUEN
  • EUEHEUEN
  • 2017年12月15日 17:31
  • 179

Android EditText软键盘显示隐藏以及“监听”

一、写此文章的起因 本人在做类似于微信、易信等这样的聊天软件时,遇到了一个问题。聊天界面最下面一般类似于如图1这样(这里只是显示了最下面部分,可以参考微信等),有输入文字的EditText和表情...
  • qazwsx185313301
  • qazwsx185313301
  • 2015年03月09日 23:15
  • 635

Android 软键盘监听事件

Android软键盘的隐藏显示研究 Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。     那么,弹出软键盘后必然会造成原有布局高度的...
  • breeze666
  • breeze666
  • 2014年05月26日 14:48
  • 15157
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android软键盘监听KeyboardWatcher
举报原因:
原因补充:

(最多只允许输入30个字)