С kotlin я так и сделал:
class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
window.decorView.systemUiVisibility =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
View.SYSTEM_UI_FLAG_FULLSCREEN
}
}
Режим погружения
Режим погружения предназначен для приложений, в которых пользователь будет интенсивно взаимодействовать с экраном. Примерами являются игры, просмотр изображений в галерее или чтение постраничного контента, например книги или слайдов в презентации. Для этого просто добавьте следующие строки:
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
Липкий иммерсив
В обычном режиме погружения каждый раз, когда пользователь проводит пальцем по краю, система заботится о раскрытии системных панелей - ваше приложение даже не узнает, что произошел жест. Поэтому, если пользователю может понадобиться провести пальцем от края экрана как часть основного опыта приложения - например, когда вы играете в игру, требующую большого количества пролистывания или используя приложение для рисования, - вам следует вместо этого включить «липкий» режим погружения. .
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
Для получения дополнительной информации: Включить полноэкранный режим
В случае, если вы используете клавиатуру, иногда случается, что StatusBar показывает, когда клавиатура появляется. В этом случае я обычно добавляю это к своему стилю xml
styles.xml
<style name="FullScreen" parent="AppTheme">
<item name="android:windowFullscreen">true</item>
</style>
А также эта строка в моем манифесте
<activity
android:name=".ui.login.LoginActivity"
android:label="@string/title_activity_login"
android:theme="@style/FullScreen">