我正在制作 Cosu 应用程序,它在锁定任务模式下运行。我找到了使 NavigationBar 和 ActionBar 完全透明和隐藏的指南,但如果用户从屏幕底部或顶部滑动,它将在底部 NavigationBar 上显示后退按钮。
我添加了可以快速再次隐藏它的代码 fragment 。
/* Hides Navigation bar again if user swipes it visible */
@Override
protected void onResume() {
getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(
new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
getWindow().getDecorView().setSystemUiVisibility(flags);
}
});
super.onResume();
}
有什么方法可以使用样式或其他方式实际更改后退按钮图标或其颜色为透明?我试图找出这方面的信息,但我发现是使用额外的应用程序来修改后退按钮图像。
我可以使用以下代码禁用后退按钮事件,但不会隐藏它的可见性
@Override
public void onBackPressed() {
// nothing to do here
}
最佳答案
你可以在build.gradle(app)中加入这个依赖:
https://github.com/topjohnwu/libsu
android {
compileOptions {
// This library uses Java 8 features, this is required
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
...
implementation "com.github.topjohnwu.libsu:core:3.1.1"
...
}
之后,将此行添加到您的build.gradle(project):
repositories {
maven { url 'https://jitpack.io' }
}
然后,您可以使用此功能隐藏导航栏上的所有按钮:
private fun disable backButtonOnLockTaskMode(){
Shell.enableVerboseLogging = BuildConfig.DEBUG
Shell.setDefaultBuilder(
Shell.Builder.create()
.setFlags(Shell.FLAG_REDIRECT_STDERR)
.setTimeout(10)
)
Shell.su("settings put secure sysui_nav_bar \"space;space;space\"").exec()
}
另一方面,您可以更改命令中的字符串,但该命令的成功取决于您的锁定任务模式实现:
- “空间;空间;空间”:没有图标。
- "space;back;space":只有后退图标。
- “space;volume_sub,back,volume_add;space”:带有音量按钮。
希望对你有帮助!
您好!
关于android - 是否有可能在 Android 的 locktask/kiosk 模式下隐藏导航栏中的后退键图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41587317/