Получить программную высоту клавиатуры без 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;
}
};
Но теперь мне нужно получить высоту программной клавиатуры, прежде чем показывать ее, так как нам нужен другой вид, чтобы иметь точно такую же высоту, как программная клавиатура. Как я мог это сделать?
заранее спасибо