问题标签 [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 投票
2 回答
1410 浏览

android - 如何在 Spinner 中保持沉浸式模式?

我使用沉浸式粘性模式来隐藏导航栏和操作栏:

Spinner触摸a 时,navigationBar会显示 并禁用沉浸式模式。

此解决方案适用于对话框:

但是Spinner没有show()我可以覆盖的方法。

如何防止在触摸 Spinner 时显示系统 UI?

编辑:这个问题是关于隐藏导航栏(BackButton、HomeButton 和RecentTasksButton)。我已经在使用FLAG_FULLSCREEN

0 投票
2 回答
2498 浏览

android - React Native 沉浸模式

我想向我的 React Native 应用程序添加沉浸式模式(全屏,没有屏幕导航栏)。在最好的情况下,我只会在以横向模式查看应用程序时拥有它。这样,用户将能够真正全屏观看视频。

所以我把它添加到我的 mainactivity.java

视图导入自:

当应用程序“启动”时,您会看到白色的加载屏幕一秒钟。在那个屏幕上,我看到了沉浸式模式。但是当 React Native 应用程序启动时,它会回来。

有人知道这样做的方法吗?

0 投票
0 回答
584 浏览

android - Android - 切换沉浸式模式会打开操作栏覆盖模式

我正在尝试在我的 Android 应用程序中实现沉浸式(全屏)模式,但遇到了一个我无法解决的问题。

我正在遵循Android Docs 中的沉浸式模式指南和示例应用程序,它大部分都可以工作,但是当退出沉浸式模式时,我的应用程序上的应用栏(操作栏)仍处于覆盖模式(它不会以覆盖模式启动当活动启动时),从而模糊了我的活动的一些内容,并且我无法弄清楚setSystemUiVisibility()在退出沉浸式模式时我需要提供哪些 UI 标志和按位运算符的组合以使其将我的应用程序恢复到初始状态(使用未处于叠加模式的应用栏)。

我有一个显示问题的演示应用程序,相关代码位如下:

使用内置工具栏/应用程序栏/操作栏进行样式设置,尽管我尝试使用自己的自定义工具栏并将其设置为支持操作栏,但结果相同。

单击活动中的“切换沉浸式模式”按钮会运行以下方法,该方法遵循沉浸式模式的 Android 指南(参见上面的链接)。

进入沉浸式模式时,我并没有尝试禁用应用栏进入覆盖模式(我想要该功能),但我不知道如何让它在退出沉浸式模式时关闭覆盖模式。任何帮助,将不胜感激。

以下是演示应用程序的一些屏幕截图:

初次启动时

初次发射

进入全屏模式后

全屏模式

退出全屏模式后

退出全屏后

0 投票
1 回答
124 浏览

android - 是否可以确定屏幕现在是否是沉浸式的,即使不在前景中?

背景

我正在研究如何在用户接到电话(呼入/呼出电话)时更换拨号器的 UI。

这似乎有两种可能:

问题

查看内置拨号器的工作原理,如果用户在沉浸式模式下使用应用程序(横向的游戏或 YouTube 视频),而现在设备正在响铃(来电),则会有通知而不是全屏活动。

但我找不到如何使用 API 来做到这一点。

我试过的

我试图查看 InCallService 的所有文档。我还尝试通过检查从 WindowManager 获得的各种值来查看是否可以区分沉浸式和非沉浸式:

我想可能可以使用辅助功能服务来检查它(虽然不确定如何),但这似乎做得太多了。

问题

应用程序是否可以检查屏幕现在是否处于沉浸式模式?

如果可能,如何以及从哪个 Android 版本支持它?

如果不可能,内置应用程序怎么知道如何检查它?

0 投票
0 回答
381 浏览

android - 是否有可能避免来电的平视通知?

这是一个非常简短的问题:

假设我在应用程序中有一个沉浸式屏幕 Activity,并且我希望让用户选择查看来电的提醒通知,因为这样的事情可能会导致意外触摸通知(导致意外回复或拒绝来电),或者因为这很烦人。

这样的事情可能吗?

即使作为用户,我也注意到只有启用免打扰模式才有可能,即使这样,我也需要对其进行自定义,以便将其应用于此类通知。

也许有一种方法可以在应用程序中临时启用请勿打扰(如图所示?还是有更好的替代方法?

0 投票
1 回答
114 浏览

android - How to dim system bars on one click on the activity and again show system bars on the second click on the screen?

Please Check the Images

Image 1

Image 2 after one click

I want to hide and show all system bars (status bar, Action Bar and Bottom Navigation Bar) in every clicks on the activity screen.

0 投票
1 回答
668 浏览

android - 在清单中声明全屏和沉浸式应用

我有这个styles.xml

然后通过将其用作我的应用程序的主题

我的应用程序进入沉浸式模式。问题是导航栏不会让人身临其境。有没有办法在清单中实现这一点?

PS。我知道这个(在清单中设置 Android 沉浸式全屏模式)问题,但没有回答我的导航栏问题。另外,答案是旧的(?)。

0 投票
1 回答
670 浏览

android - Xamarin.Forms 带有软键盘或警报的 Android 沉浸式模式

我试图让我的 Xamarin.Forms 应用程序使用 Android 的沉浸式模式,因为我使用的是小屏幕设备,所以软键和导航栏正在窃取我宝贵的屏幕空间。

由于我使用的设备具有硬件键盘,我想隐藏软键盘。目前我通过安装“空输入法”键盘解决了这个问题。然而,键盘仍然存在,因此每次在 Entry 元素上请求焦点时,都会“显示”键盘。这会导致应用程序退出沉浸式模式。当我从我的表单应用程序中显示警报时也是如此。

理想情况下,我希望我的应用程序始终保持沉浸式模式,至少在请求关注 Entry 时(软键盘根本没有“显示”,或者当键盘“显示”时没有禁用沉浸式模式)。对于警报,我希望应用程序在隐藏警报时重新进入沉浸式模式。目前,我通过使用自定义 DisplayAlert 方法扩展 Page 类解决了这个问题,该方法在 DisplayAlert 任务完成后切换沉浸式模式。

我做了一些研究,发现了以下文章: 使用键盘时的沉浸式模式 显然用户设法解决了这个问题,所以可以有一个解决方案吗?

https://forums.xamarin.com/discussion/33034/prevent-entry-soft-keyboard-from-showing-on-android 但此解决方案不适用于 Entry 元素,我想避免为元素编写自定义渲染器.

有没有人以前遇到过类似的问题并设法解决了?

0 投票
1 回答
184 浏览

android - 画布触摸事件拾取滑动以退出沉浸式模式

我有一个 SurfaceView,它使用画布根据触摸事件进行渲染。该活动还使用沉浸式模式使其全屏显示。

问题是当用户从屏幕顶部滑动退出沉浸式模式时,画布会拾取滑动。

如何避免在画布中处理这些触摸事件?

SurfaceView 类

布局的侧面也有一些标准控件,我注意到这些也以同样的方式受到影响。即如果向下滑动触摸进度条,进度条将继续

0 投票
1 回答
255 浏览

android - 带有工具栏的沉浸式模式

我正在尝试使用

这会隐藏工具栏,但在退出时使用

工具栏不会重新出现,如果我强制工具栏显示使用

工具栏部分隐藏在状态栏后面。那么如何让工具栏再次正确出现呢?