Используйте OnGlobalLayoutListener для получения высоты клавиатуры или реализацию выше фрагмента кода
- chatRootLayout вашего XML корневого макет
передать этот rootLayout в качестве параметра parentLayout в checkKeyboardHeight
private void checkKeyboardHeight(final View parentLayout)
{
chatRootLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
Rect r = new Rect();
chatRootLayout.getWindowVisibleDisplayFrame(r);
int screenHeight = chatRootLayout.getRootView().getHeight();
int keyboardHeight = screenHeight - (r.bottom);
if (previousHeightDiffrence - keyboardHeight > 50)
{
// Do some stuff here
}
previousHeightDiffrence = keyboardHeight;
if (keyboardHeight> 100)
{
isKeyBoardVisible = true;
changeKeyboardHeight(keyboardHeight);
}
else
{
isKeyBoardVisible = false;
}
}
});
}
Вот метод changeKeyboardHeight()
private void changeKeyboardHeight(int height)
{
if (height > 100)
{
keyboardHeight = height;
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, keyboardHeight);
yourLayout.setLayoutParams(params);
}
}
ваша клавиатура видна – playmaker420
см это: HTTP: //stackoverflow.com/questions/6009487/get-the -height-of-virtual-keyboard-in-android –
Это всегда неправильный вопрос (особенно с плавающей клавиатурой). Что вы на самом деле пытаетесь сделать? – ianhanniballake