问题标签 [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.
android - 如何在 Spinner 中保持沉浸式模式?
我使用沉浸式粘性模式来隐藏导航栏和操作栏:
Spinner
触摸a 时,navigationBar
会显示 并禁用沉浸式模式。
此解决方案适用于对话框:
但是Spinner
没有show()
我可以覆盖的方法。
如何防止在触摸 Spinner 时显示系统 UI?
编辑:这个问题是关于隐藏导航栏(BackButton、HomeButton 和RecentTasksButton)。我已经在使用FLAG_FULLSCREEN
android - React Native 沉浸模式
我想向我的 React Native 应用程序添加沉浸式模式(全屏,没有屏幕导航栏)。在最好的情况下,我只会在以横向模式查看应用程序时拥有它。这样,用户将能够真正全屏观看视频。
所以我把它添加到我的 mainactivity.java
视图导入自:
当应用程序“启动”时,您会看到白色的加载屏幕一秒钟。在那个屏幕上,我看到了沉浸式模式。但是当 React Native 应用程序启动时,它会回来。
有人知道这样做的方法吗?
android - Android - 切换沉浸式模式会打开操作栏覆盖模式
我正在尝试在我的 Android 应用程序中实现沉浸式(全屏)模式,但遇到了一个我无法解决的问题。
我正在遵循Android Docs 中的沉浸式模式指南和示例应用程序,它大部分都可以工作,但是当退出沉浸式模式时,我的应用程序上的应用栏(操作栏)仍处于覆盖模式(它不会以覆盖模式启动当活动启动时),从而模糊了我的活动的一些内容,并且我无法弄清楚setSystemUiVisibility()
在退出沉浸式模式时我需要提供哪些 UI 标志和按位运算符的组合以使其将我的应用程序恢复到初始状态(使用未处于叠加模式的应用栏)。
我有一个显示问题的演示应用程序,相关代码位如下:
使用内置工具栏/应用程序栏/操作栏进行样式设置,尽管我尝试使用自己的自定义工具栏并将其设置为支持操作栏,但结果相同。
单击活动中的“切换沉浸式模式”按钮会运行以下方法,该方法遵循沉浸式模式的 Android 指南(参见上面的链接)。
进入沉浸式模式时,我并没有尝试禁用应用栏进入覆盖模式(我想要该功能),但我不知道如何让它在退出沉浸式模式时关闭覆盖模式。任何帮助,将不胜感激。
以下是演示应用程序的一些屏幕截图:
初次启动时
进入全屏模式后
退出全屏模式后
android - 是否可以确定屏幕现在是否是沉浸式的,即使不在前景中?
背景
我正在研究如何在用户接到电话(呼入/呼出电话)时更换拨号器的 UI。
这似乎有两种可能:
在旧的 Android 版本上,可以通过PHONE_STATE_CHANGED和NEW_OUTGOING_CALL Intents触发顶部视图。
在新的 Android 版本(至少 API 23 - Android M-6.0)上,可以通过扩展InCallService并提供将从那里打开的 Activity。我什至在这里找到了一个例子。
问题
查看内置拨号器的工作原理,如果用户在沉浸式模式下使用应用程序(横向的游戏或 YouTube 视频),而现在设备正在响铃(来电),则会有通知而不是全屏活动。
但我找不到如何使用 API 来做到这一点。
我试过的
我试图查看 InCallService 的所有文档。我还尝试通过检查从 WindowManager 获得的各种值来查看是否可以区分沉浸式和非沉浸式:
我想可能可以使用辅助功能服务来检查它(虽然不确定如何),但这似乎做得太多了。
问题
应用程序是否可以检查屏幕现在是否处于沉浸式模式?
如果可能,如何以及从哪个 Android 版本支持它?
如果不可能,内置应用程序怎么知道如何检查它?
android - 是否有可能避免来电的平视通知?
这是一个非常简短的问题:
假设我在应用程序中有一个沉浸式屏幕 Activity,并且我希望让用户选择查看来电的提醒通知,因为这样的事情可能会导致意外触摸通知(导致意外回复或拒绝来电),或者因为这很烦人。
这样的事情可能吗?
即使作为用户,我也注意到只有启用免打扰模式才有可能,即使这样,我也需要对其进行自定义,以便将其应用于此类通知。
也许有一种方法可以在应用程序中临时启用请勿打扰(如图所示)?还是有更好的替代方法?
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
I want to hide and show all system bars (status bar, Action Bar and Bottom Navigation Bar) in every clicks on the activity screen.
android - 在清单中声明全屏和沉浸式应用
我有这个styles.xml
然后通过将其用作我的应用程序的主题
我的应用程序进入沉浸式模式。问题是导航栏不会让人身临其境。有没有办法在清单中实现这一点?
PS。我知道这个(在清单中设置 Android 沉浸式全屏模式)问题,但没有回答我的导航栏问题。另外,答案是旧的(?)。
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 元素,我想避免为元素编写自定义渲染器.
有没有人以前遇到过类似的问题并设法解决了?
android - 画布触摸事件拾取滑动以退出沉浸式模式
我有一个 SurfaceView,它使用画布根据触摸事件进行渲染。该活动还使用沉浸式模式使其全屏显示。
问题是当用户从屏幕顶部滑动退出沉浸式模式时,画布会拾取滑动。
如何避免在画布中处理这些触摸事件?
SurfaceView 类
布局的侧面也有一些标准控件,我注意到这些也以同样的方式受到影响。即如果向下滑动触摸进度条,进度条将继续
android - 带有工具栏的沉浸式模式
我正在尝试使用
这会隐藏工具栏,但在退出时使用
工具栏不会重新出现,如果我强制工具栏显示使用
工具栏部分隐藏在状态栏后面。那么如何让工具栏再次正确出现呢?