问题标签 [android-immersive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
70 浏览

java - 带有弹出菜单的沉浸式模式 Android API 的错误?

沉浸式(-sticky)模式无法完全隐藏导航栏。当我点击并显示弹出菜单时,导航栏(具有透明背景)像僵尸一样被抬起。这种现象在 API-29 或更早版本和 API-30 上都是相同的。

是这个 API 的错误还是我的代码失败?

这是一个示例代码:

布局:

截屏

我已经阅读了一个类似的旧问题,但直到现在还没有答案。

0 投票
0 回答
91 浏览

android - 新的沉浸式模式实现在 Android 11 中不包括(使用)状态栏

在弃用setSystemUiVisibility及其标志之后,沉浸式模式的新实现不包括或使用状态栏,它只是将其设置为黑色但不使用它。这是我的意思的截图: 在此处输入图像描述 标题栏上方的黑色区域!这就是我所说的。

这是我用于沉浸式模式的新代码:

然后我在任何需要的地方使用它,例如:

0 投票
0 回答
20 浏览

android - R.layout.main_view(活动视图)的父视图是什么?

这可能看起来有点不对劲,但请阅读一次!

如果我有一个活动说主活动,它的布局 ID 说 R.id.main_activity。要将此布局用作当前窗口的主布局,我们使用 setContentView(R.id.main_activity),但此视图不包括应用程序的标题栏或系统的状态栏。所以我的问题是:标题栏和状态栏是否有视图或布局 ID,如果是,那是什么?如果不是,请检查:我使用以下代码将我的应用程序置于全屏模式:

然后我在任何需要的地方调用它:

它工作正常,但问题是当应用程序处于全屏模式时,它不使用系统的状态栏(它只是使状态栏变黑)。那么,将应用程序置于完全全屏模式是否有更好的解决方法?

0 投票
0 回答
56 浏览

java - 如何以编程方式在android中对所有应用程序进行沉浸式模式

我想使用我的应用程序控制其他应用程序的沉浸式模式。我从这里找到了一种使用 ADB 的方法,如下所示

adb shell settings put global policy_control immersive.full=com.android.example

但现在我想通过我的应用程序以编程方式做到这一点。比如使用Settings什么的。此外,我想要一个 Java 解决方案

有什么方法可以做到这一点吗?

谢谢

0 投票
1 回答
21 浏览

android - 在共享活动元素之间隐藏工具和标题栏

顾客要求:

我想通过移动背景的 2 个 png 元素(客户请求)在所有活动之间创建平滑过渡。详细说明:我有一个右侧元素应该向左移动 20sp,左侧有一个镜像元素应该向右移动。

我当前的代码:

过渡看起来不错,为此我在所有活动布局中创建了 2 个具有相同“transitionName”的共享元素:

在我的清单中,我设置了自己的风格:

在我的“res/values/style.xml”中,我将 windowsContentTransitions 设置为 true:

而且,可以肯定的是,在 onCreate() 开头的所有活动中,我都添加了:

在 onWindowFocusChanged() 的所有活动中,我设置了 SYSTEM_UI_FLAG_FULLSCREEN:

我的问题:

当我打开一个活动时,过渡已经运行,但我总是在工具和标题栏上看到一个短暂的淡入淡出,我不想拥有它。但是,在我看来,我所做的一切已经隐藏了这些栏,但它不会正常工作。

0 投票
0 回答
24 浏览

android - 安卓31全屏切换

我当前的 Android 应用程序针对版本 26 到 31

我的一项活动需要能够在全屏和状态/AppBar 显示之间切换,因为它显示 PDF 文件以供阅读。

以下代码完美地显示和隐藏

但是,正如其他 SO 问题所指出的那样,所有这些标志现在都已弃用。

我已经尝试了替换这些标志的解决方案,但是它非常有问题,我不确定我哪里出错了。

用于替换上述代码的是:-

这段代码确实有效,但它并不一致,而且大多数情况下状态栏消失了,但工具栏只是闪烁并重新出现。

我错过了什么?

是否需要进行其他配置更改才能使更新的代码和已弃用的版本一样正常工作?

0 投票
0 回答
36 浏览

android - 横向和三星平板电脑中的 Android 沉浸式模式问题

我当前的 Android 应用程序支持阅读 PDF 文件。

我的应用支持 Android 版本 26 - 31。

我有一个用例,我的用户可以在全屏和显示状态栏和工具栏之间切换。

此功能在我的 Pixel 测试设备上的 Portrait 中按预期工作。

但是在横向像素中,只有状态栏“隐藏”工具栏始终可见。

然而,在我的三星平板电脑测试设备上,无论是纵向还是横向,只有状态栏隐藏。工具栏始终可见。

我用来显示/隐藏的代码如下:-

我需要重构什么才能让工具栏在横向模式下隐藏?

我需要重构什么才能让三星平板电脑按预期工作?

为什么相同的代码不适用于任何/多个设备制造商?

0 投票
0 回答
21 浏览

java - Android:如何获得沉浸式导航栏的可见性状态

我有一个奇特的任务,为此我需要知道沉浸式底部导航栏何时显示以及何时隐藏。Android SDK中是否有任何回调?

0 投票
2 回答
94 浏览

android - 颤振粘性沉浸式无法正确处理状态栏

这发生在我使用颤振 2.5.3 的 Android 12 上

使用时

顶部状态栏是隐藏的,但它所在的空间完全是黑色且无法使用。 在此处输入图像描述

这是我正在使用的代码

我想知道我是否会遗漏一些东西

0 投票
0 回答
27 浏览

android - 如何通过 shell/ADB 读取当前的沉浸模式状态?

是否有可以获取沉浸式模式当前状态的 Android shell 命令(即immersive.fullimmersive.statusimmersive.navigationimmersive.off)?

可以通过 shell 命令设置沉浸式模式settings put global policy_control immersive.full=*,并且可以通过 shell 查询其他系统状态(例如,使用 获取当前亮度级别settings get system screen_brightness)。但是,我无法弄清楚哪个命令会返回沉浸式模式的当前状态。目标是以编程方式检测应用程序当前是否处于沉浸式模式(用于 Tasker 和 Macrodroid 等自动化应用程序)。

我尝试了各种听起来可能的命令组合,例如:settings get system immersivemode, settings get system immersive_mode, settings get global policy_control,但其中大多数返回语法错误,因为我真的不知道我在寻找什么。有什么建议么?