Как добиться исчезновения логотипа внутри экрана входа в систему при активной программной клавиатуре? - PullRequest
0 голосов
/ 28 октября 2018

LoginScreen before inputLoginScreen input

В своей деятельности по входу в систему мне нужно добиться эффекта перехода логотипа и текста, когда ввод с клавиатуры активен, как на изображенияхвыше.

Макет моего входа в систему выполнен в рамках макета ограничения на основе руководящих принципов percantage.Суть макета: https://gist.github.com/LAHomieJob/196d9697f16e1123d59bbd21bf58f6b7

Для достижения желаемого эффекта я уже попробовал следующие вещи: 1) применить android: windowSoftInputMode = "stateHidden | AdjustResize" .Он просто уменьшает масштаб, чтобы разместить его над софт-клавиатурой. 2) Ручной обработчик конфигураций.Для этого я настроил Manifest:

<activity android:name=".presentation.loginActivity.view.LoginActivity"
              android:configChanges="keyboardHidden|orientation|screenSize"
              android:windowSoftInputMode="stateHidden|adjustResize"/>
    <activity android:name=".presentation.chooseCallActivity.view.ChooseCallActivity"/>

И манипулировал видимостью представлений внутри в методе действия onConfigurationChanged

override fun onConfigurationChanged(newConfig: Configuration) {
    super.onConfigurationChanged(newConfig)
    // Checks the orientation of the screen
    if (newConfig.hardKeyboardHidden == HARDKEYBOARDHIDDEN_NO) {
        imageViewLogo.visibility = View.GONE
    } else if (newConfig.hardKeyboardHidden == HARDKEYBOARDHIDDEN_YES) {
        imageViewLogo.visibility = View.VISIBLE
    }
}

Проблема со вторым решением заключается в том, что onConfigureChanged не вызывается в конце концов присупер подпись

Поэтому я ценю любую помощь, чтобы найти способ сделать мой экран входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...