Android. Исправить код
Приветствую! Код ниже нужен для запуска run() – функции скрытия блока, когда клавиатура убирается с экрана (меняется высота экрана). Если клавиатура убирается (запускается run()) когда поле ввода потеряло фокус – это нормально, но если например мне позвонили и я находился в приложении – клавиатура тоже убирается и запускается run() – это не нормально. Потому что если по окончании вызова вернутся в приложение – блок будет скрыт. Нужно чтобы блок скрывался только при намеренном действии.
final View activityRootView = findViewById(R.id.webView); // получаем ID лайота (нужно указать)
activityRootView.getViewTreeObserver().addOnGlobal LayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { // ставим "прослушку" на лайот
private int lastHeight;// предыдущее значение высоты
@Override
public void onGlobalLayout() {
if (lastHeight == 0) { // если не определено, то определить (1-ый вызов метода)
lastHeight = activityRootView.getHeight();
}
// проверка на то, что предыдущее значение меньше текущего
// если разница более 100, то значит, была закрыта клавиатура
if (lastHeight
WebView vw = (WebView) findViewById(R.id.webView);
vw.loadUrl("javascript:run()");
}
lastHeight = activityRootView.getHeight(); // установка предыдущего значения
}
});