airpanel 如何解决空气面板在刘海屏手机上不能弹出的问题
来源:11-8 聊天界面底部面板显示切换功能实现-1
米罗攻城狮
2019-01-13
在老师的Github里面也有一个issue类似
https://github.com/qiujuer/AirPanel/issues/2
的确是
在Helper类中
private boolean isOpenSoftKeyboard() {
return mLastFrame.bottom != 0 && mLastFrame.bottom != mDisplayHeight;
}```
此方法失效, mLastFrame.bottom != mDisplayHeight; 总是为true。
所以每次点击,都检查到键盘是打开的状态,那么结果就一直是隐藏软键盘吧。
写回答
4回答
-
这个,我需要看看 因为之前一直也没有刘海屏测试。我这边适配一下,多谢反馈。
012019-01-13 -
米罗攻城狮
提问者
2019-01-13
就这样效果了
00 -
米罗攻城狮
提问者
2019-01-13
@Override public void setup(Activity activity) { mRootView = activity.getWindow().getDecorView(); /* mRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Util.log("onGlobalLayout"); } }); */ // Get DisplayHeight DisplayMetrics metrics = new DisplayMetrics(); //这个方法获取可能不是真实的屏幕高度 activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); mDisplayDefaultHeight = metrics.heightPixels; //获取当前屏幕真实高度 activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics); mDisplayHeight = metrics.heightPixels; } @Override public void adjustPanelHeight(int height) { // None do } private boolean isOpenSoftKeyboard() { return mLastFrame.bottom != 0 && !(mLastFrame.bottom == mDisplayHeight || mLastFrame.bottom-mLastFrame.top == mDisplayDefaultHeight); }
发现下面刚好成立
mLastFrame.bottom-mLastFrame.top == mDisplayDefaultHeight
这样一改我的手机就可以弹出空气面板,但要监听以下recycleview滑动时关闭就可以啦。
012019-01-13 -
Qiujuer
2019-01-13
这个,我需要看看 因为之前一直也没有刘海屏测试。我这边适配一下,多谢反馈。
00
相似问题