Android中监听软键盘显示状态实现代码
程序员文章站
2024-01-31 19:17:28
...
/**监听软键盘状态 * @param activity * @param listener */ public static void addOnSoftKeyBoardVisibleListener(Activity activity, final OnSoftKeyBoardVisibleListener listener) { final View decorView = activity.getWindow().getDecorView(); decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect rect = new Rect(); decorView.getWindowVisibleDisplayFrame(rect); int displayHight = rect.bottom - rect.top; int hight = decorView.getHeight(); boolean visible = (double) displayHight / hight < 0.8; Log.d(TAG, "DecorView display hight = " + displayHight); Log.d(TAG, "DecorView hight = " + hight); Log.d(TAG, "softkeyboard visible = " + visible); if(visible != sLastVisiable){ listener.onSoftKeyBoardVisible(visible); } sLastVisiable = visible; } }); }
更多Android中监听软键盘显示状态实现代码相关文章请关注PHP中文网!