现在的位置: 首页 > 编程技术 > 安卓开发 > 正文

如何监测安卓软键盘的收起

2015年09月14日 安卓开发 ⁄ 共 860字 ⁄ 字号 如何监测安卓软键盘的收起已关闭评论 ⁄ 阅读 920 次

在软键盘弹起的时候,摁下back键,软键盘会收起。这个时候back键的摁下对于activity是不能通过dispatchKeyEvent或者onbackpressed之类的监听到的。

核心代码如下:

public class EditTextBackEvent extends EditText {

    private EditTextImeBackListener mOnImeBack;

    public EditTextBackEvent(Context context) {
        super(context);
    }

    public EditTextBackEvent(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public EditTextBackEvent(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
            if (mOnImeBack != null) mOnImeBack.onImeBack(this, this.getText().toString());
        }
        return super.dispatchKeyEvent(event);
    }

    public void setOnEditTextImeBackListener(EditTextImeBackListener listener) {
        mOnImeBack = listener;
    }
    public interface EditTextImeBackListener {
        void onImeBack(EditTextBackEvent ctrl, String text);
    }

}

 

 

抱歉!评论已关闭.