В моем приложении мне нужно сделать строку состояния прозрачной (успешно реализованной), и когда на телефоне есть программные навигационные кнопки, они отображаются только тогда, когда пользователь щелкает снизу и должен исчезнуть через X раз (это определяется системой, я считаю).Я посмотрел много уроков, но все они показывают, как включить режим погружения, который также скрывает строку состояния.Это код, который скрывает как строку состояния, так и кнопки навигации:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.d("LogTag", "onFocusChanged");
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
Я не могу заставить ее работать в соответствии с требованиями, любая идея?
Если кому-то нужен код, чтобы сделать прозрачнымВ строке состояния здесь находится рабочий код:
Window window = getWindow();
WindowManager.LayoutParams winParams = window.getAttributes();
winParams.flags &= ~WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
window.setAttributes(winParams);
window.setStatusBarColor(Color.TRANSPARENT);
Позвоните по номеру onCreate()
Actitivty.