手记

代码设置键盘状态监听

在页面根布局做监听
ccp_content_fl = (FrameLayout) findViewById(R.id.ccp_content_fl);
assert ccp_content_fl != null;
ccp_content_fl.addView(mBaseLayoutView, new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
ccp_content_fl.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        Rect r = new Rect();
        ccp_content_fl.getWindowVisibleDisplayFrame(r);
        if (ccp_content_fl.getRootView().getHeight() - (r.bottom - r.top) > CodeUtil.dip2px(WDYBaseActivity.this, 100)) {
            setIsShowKeyboard(true);
            if (getOnKeyboardListener() != null)
                getOnKeyboardListener().isShow(true);
        } else {
            setIsShowKeyboard(false);
            if (getOnKeyboardListener() != null)
                getOnKeyboardListener().isShow(false);
        }
    }
});
//键盘状态监听
public void setIsShowKeyboard(Boolean isShowKeyboard) {
    this.isShowKeyboard = isShowKeyboard;
}
public interface OnKeyboardListener {
    void isShow(boolean isShow);
}

原文链接:http://www.apkbus.com/blog-362570-77479.html

0人推荐
随时随地看视频
慕课网APP