在 TWA 中隐藏 Android 软导航 (Bubblewrap)
Hide Android Soft Navigation in TWA (Bubblewrap)
我已经按照本指南 (https://developers.google.com/web/android/trusted-web-activity/quick-start) 构建了一个 TWA 应用程序,但我需要隐藏 android 软导航栏(而不是 URL 栏)。
我找到了这个 (https://developer.android.com/training/system-ui/navigation) 但不知道将 onResume() 方法放在哪里。
我以前没有在 Android Studio 中做过任何东西,我对此完全陌生。非常感谢您的帮助。
谢谢
更新:
您指的是 Android 上的 Immersive Mode。
从版本 1.4.0 开始,Bubblewrap CLI 在初始化应用程序时评估清单的 display
属性。如果值为 fullscreen
,它会自动将沉浸模式应用到您的 TWA。确保在您的网络清单中将 display
设置为 fullscreen
。
对于现有应用程序,将文件 twa-manifest.json
和 add/update 的 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>
现在,当 运行ning bubblewrap build
时,应用程序将使用额外的元标记并以全屏/沉浸模式启动。
我已经按照本指南 (https://developers.google.com/web/android/trusted-web-activity/quick-start) 构建了一个 TWA 应用程序,但我需要隐藏 android 软导航栏(而不是 URL 栏)。
我找到了这个 (https://developer.android.com/training/system-ui/navigation) 但不知道将 onResume() 方法放在哪里。
我以前没有在 Android Studio 中做过任何东西,我对此完全陌生。非常感谢您的帮助。
谢谢
更新:
您指的是 Android 上的 Immersive Mode。
从版本 1.4.0 开始,Bubblewrap CLI 在初始化应用程序时评估清单的 display
属性。如果值为 fullscreen
,它会自动将沉浸模式应用到您的 TWA。确保在您的网络清单中将 display
设置为 fullscreen
。
对于现有应用程序,将文件 twa-manifest.json
和 add/update 的 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>
现在,当 运行ning bubblewrap build
时,应用程序将使用额外的元标记并以全屏/沉浸模式启动。