1. 程式人生 > >Android 監聽軟鍵盤狀態

Android 監聽軟鍵盤狀態

近日遇到要檢測軟鍵盤是否顯示或隱藏的問題,搜了一下網上,最後找到一個很簡單的,記錄一下。

activityRoot是activity的根view,就是xml裡面的第一個view,給它設定一個id.

final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
        if (heightDiff > 100) { // 如果高度差超過100畫素,就很有可能是有軟鍵盤...
            ... do something here
        }
     }
});