Подключите нашего Telegram-бота для уведомлений о новых проектах

Android. Исправить код

N
Заказчик
Отзывы фрилансеров: + 4 - 0
Зарегистрирован на сайте 9 лет и 3 месяца
Бюджет: по договоренности
Приветствую! Код ниже нужен для запуска run() – функции скрытия блока, когда клавиатура убирается с экрана (меняется высота экрана). Если клавиатура убирается (запускается run()) когда поле ввода потеряло фокус – это нормально, но если например мне позвонили и я находился в приложении – клавиатура тоже убирается и запускается run() – это не нормально. Потому что если по окончании вызова вернутся в приложение – блок будет скрыт. Нужно чтобы блок скрывался только при намеренном действии.


  final View activityRootView = findViewById(R.id.webView); // получаем ID лайота (нужно указать)
        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { // ставим "прослушку" на лайот
            private int lastHeight;// предыдущее значение высоты

            @Override
            public void onGlobalLayout() {
                if (lastHeight == 0) { // если не определено, то определить (1-ый вызов метода)
                    lastHeight = activityRootView.getHeight();
                }
                // проверка на то, что предыдущее значение меньше текущего
                // если разница более 100, то значит, была закрыта клавиатура
     if (lastHeight <> 100) {
                    WebView vw = (WebView) findViewById(R.id.webView);
                    vw.loadUrl("javascript:run()");
                }

                lastHeight = activityRootView.getHeight(); // установка предыдущего значения
            }


        });
Разделы:
Опубликован:
06.01.2016 | 16:31

Теги: нужен программист, ищу программиста, резюме программиста, требуется разработка мобильных приложений

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».