Скрыть программную навигацию Android в TWA (пузырчатая пленка)
Я следовал этому руководству (https://developers.google.com/web/android/trusted-web-activity/quick-start), чтобы создать приложение TWA, но мне нужно скрыть панель мягкой навигации Android (а не Адресная строка).
Я нашел это (https://developer.android.com/training/system-ui/navigation), но не могу понять, где разместить метод onResume().
Раньше я ничего не делал в Android Studio, и я совершенно новичок в этом. Был бы очень признателен за помощь.
Спасибо
1 ответ
Обновить:
То, что вы имеете в виду, называется иммерсивным режимом на Android. Начиная с версии 1.4.0, Bubblewrap CLI оцениваетdisplay
свойство манифеста при инициализации приложения. Если значение равноfullscreen
, он автоматически применяет иммерсивный режим к TWA. Обязательно установитеdisplay
к fullscreen
в вашем веб-манифесте.
Для существующих приложений обновите файл twa-manifest.json
и добавить / обновить display
приписывать fullscreen
, затем запустите bubblewrap update
а также bubblewrap build
.
Альтернативный / ручной подход:
Также можно вручную обновить проект, созданный Bubblewrap, чтобы использовать полноэкранный / иммерсивный режим:
- редактировать
app/build.gradle
использовать последнюю версию android-browser-helper. Вdependencies
раздел внизу файла должен выглядеть следующим образом:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.androidbrowserhelper:androidbrowserhelper:1.3.0'
}
Обратите внимание, что минимальная версия для androidbrowserhelper должна быть 1.3.0
.
- редактировать
app/src/main/AndroidManifest.xml
и добавить новыйmeta-data
тег сandroid:name
атрибут установлен наandroid.support.customtabs.trusted.DISPLAY_MODE
иandroid:value
атрибут установлен наimmersive
использовать иммерсивный режим внутриactivity
тег:
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/launcherName">
...
<meta-data android:name="android.support.customtabs.trusted.FALLBACK_STRATEGY"
android:value="@string/fallbackType" />
<meta-data android:name="android.support.customtabs.trusted.DISPLAY_MODE"
android:value="immersive"/>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
</activity>
Теперь при запуске bubblewrap build
, приложение будет использовать дополнительный метатег и запустится в полноэкранном / иммерсивном режиме.