Android API <35 Полноэкранный приложение путаницаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android API <35 Полноэкранный приложение путаница

Сообщение Anonymous »

Я работаю над приложением Android (Home Project), написанным на Java. Я случайный разработчик Android, и для достижения полноэкранной функциональности я применил те же шаги, которые я успешно использовал пару лет назад: < /p>
  • Изменить тему: < /li>
    < /ol>

    Код: Выделить всё

    false
    true
    true
    false
    
    
    
    
    

    Main activity (extending FragmentActivity, the only activity I have since I'm using fragments):

Код: Выделить всё

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this); //apparently for API 35+ this is the only thing I need

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

setContentView(R.layout.activity_main);
... }
Проблема заключается в том, что при тестировании этого на API 34 мое приложение Вроде полный экран. На вершине есть тонкая черная линия, где должен быть системная полоса. Кроме того, Play Store дал мне предупреждение, которое я использую устаревшие методы для полного экрана. Я пытался использовать вставки и маржу, как предложены документы Google, но это не дало результатов. Удивительно, что показ приложения в режиме полноэкранного режима без других элементов на экране настолько сложна и требует большего кода, чем настройка простого свойства действия.

Код: Выделить всё

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

EdgeToEdge.enable(this);

Window window = getWindow();
View decorView = getWindow().getDecorView();

WindowCompat.setDecorFitsSystemWindows(window, false);
WindowInsetsControllerCompat controllerCompat = new WindowInsetsControllerCompat(window, decorView);
controllerCompat.hide(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.navigationBars());
controllerCompat.setSystemBarsBehavior(WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
and the result I get (top of the screen):
Изображение


Я также удалил все из моих тем.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... -confusion
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»