Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Приветствую! Код ниже нужен для запуска 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(); // установка предыдущего значения 

            } 

        }); 

8 лет назад
Chernoffn
Николай 
38 летРоссия
11 лет в сервисе
Был
2 года назад