Получить программную высоту клавиатуры без ViewTreeObserver

В настоящее время я получаю высоту программной клавиатуры с помощью ViewTreeObserver, например:

private final ViewTreeObserver.OnGlobalLayoutListener   mKeyboardLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        final int heightDiff = mRootLayout.getRootView().getHeight() - mRootLayout.getHeight();

        if(heightDiff > mStatusBarHeight && mLastHeightDiff != heightDiff){
            mSoftKeyboardHeight = heightDiff;
        }
        mLastHeightDiff = heightDiff;
    }
};

Но теперь мне нужно получить высоту программной клавиатуры, прежде чем показывать ее, так как нам нужен другой вид, чтобы иметь точно такую ​​же высоту, как программная клавиатура. Как я мог это сделать?

заранее спасибо

0 ответов