问题标签 [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 回答
2581 浏览

android - Android:全屏微调下拉菜单

我正在尝试以全屏(沉浸式模式)打开下拉微调器,但问题是当下拉菜单打开时,它会在底部显示半透明的导航栏。选择选项时导航栏会隐藏,但只要下拉菜单可见,导航栏就会保持可见。我能够在对话框片段中删除此行为,因为我有show(FragmentManager manager, String tag)方法来覆盖和添加它

但在微调器中没有类似的方法可用。我尝试将这些方法用于performClick()在父级中使用侦听器实现,但仍然没有运气。

这个问题的任何解决方案。

0 投票
0 回答
578 浏览

android - 旋转后未调用 onSystemUiVisibilityChange 监听器

我在这上面拉我的头发。我想要做的是系统 ui + 我的视图切换全屏(状态栏和导航栏隐藏 + 沉浸式粘性)

-- 默认情况下,我希望隐藏用户界面,即只显示内容。这似乎是一个荒谬的问题

在第一次活动 onCreate 一切似乎都有效。在我旋转并再次调用 hide 之后,即使 mDecorView.getSystemUiVisibility() 和设置的参数标志不匹配,也不会调用 onSystemUiVisibilityChange ...。好像系统在某处缓存了最后一个值,然后因为它相同,不会触发侦听器..听起来很合理,对吗?所以我使用捆绑包中的最后一个可见性值手动调用syncChrome。现在 UI 在旋转后被隐藏或显示。但是,现在如果我切换它,系统栏会按原样返回,但不会调用侦听器!!!!如果我再切换一次,一切都会消失,如果我再切换一次,它会自行修复并工作(系统 ui 和我的 ui 都正确显示)......所以基本上在 3 次切换后它开始按预期工作-____-

一个想法是在旋转后不更改系统可见性,只需同步 chrome .. 不,如果我忽略设置 HIDE_FLAGS,则会显示系统栏.. 所以它不会像上面的情况那样记住最后的值......

我做错了什么还是这是一个错误?

(我不关心系统 ui 侦听器并手动显示/隐藏我的 ui,但是有一个小故障,当在 onCreate 中调用 hide() 时,然后我切换以显示系统 ui、导航栏和状态栏有奇怪的透明背景,即使它们应该有颜色 -如果我将它关闭然后再次打开,那么导航栏/状态栏颜色会按原样返回)

……用力敲我的头……

0 投票
0 回答
287 浏览

android - UiAutomator 用沉浸式模式测试,导航栏下不能点击东西

我正在尝试在以沉浸式模式运行的应用程序上运行测试。

但是,当我尝试单击导航栏通常所在的位置时,什么也没有发生,因为UiDevice我认为屏幕比实际小。

即它认为屏幕是 2076 像素高,而实际上它现在是 2152。有没有办法访问额外的 76 像素的屏幕?

我的应用程序代码的粗略示例如下...

我在我的实际 apk 中的共享首选项中设置按钮的像素位置,然后我的测试 apk 正在读取该值并在该位置单击。

我的真实应用程序的屏幕宽度为 2152(横向)我的测试 apk 只认为屏幕是 2076。

0 投票
0 回答
133 浏览

java - android 6.0.1 沉浸式粘性不起作用

在我的活动中使用以下代码:

如使用 android 设备 5.0 和 7.0 但不能在 6.0.1 android 设备上的 android 开发人员站点中所述,我能够隐藏和滑动以显示系统 UI(并在几秒钟后自动隐藏)。有没有其他方法可以在 android 6.0.1 上使用沉浸式粘性,我只想隐藏系统 UI,让用户滑动以显示系统 UI(如果几秒钟后没有交互,则自动隐藏)

0 投票
0 回答
1674 浏览

android - 如何在沉浸式全屏模式下完全隐藏 Android 上的状态栏

为了运行信息亭应用程序,我想在沉浸式全屏模式下完全隐藏状态栏。所有建议的解决方案都提到了防止状态栏完全展开的方法,但没有一个显示如何在您向下拖动屏幕顶部时完全防止状态栏显示(然后消失)。在 Kiosk 模式下,我们不希望在设备上运行的专用应用程序之外发生任何辅助活动,尽管用户可能会尝试与控件或屏幕进行交互。

提前致谢!

0 投票
1 回答
602 浏览

java - 禁用特定活动的沉浸式模式

我想为我的应用程序中的一项活动禁用沉浸式模式(即在屏幕顶部向下滑动时弹出 android 状态栏)。我在我的活动中使用全屏主题,但是每当我从顶部区域向下滑动时,状态栏就会弹出。我想禁用该功能。

我已经尝试过这里给出的解决方案

但它在 API 24 上对我不起作用。

0 投票
0 回答
533 浏览

android - 调整调整大小在沉浸式模式下不起作用

我需要我的应用程序始终处于沉浸式模式(隐藏导航栏和状态栏)。问题是当我显示一个对话框时,即使我将 setSoftInputMode 设置为 SOFT_INPUT_ADJUST_RESIZE / SOFT_INPUT_ADJUSTPAN,对话框窗口也不会在软键盘上调整。对话框顶部的一些文本被截断。

如何解决这个问题?

0 投票
1 回答
819 浏览

android - 在 Android 上检测隐藏键盘事件

所以我需要保持应用程序的沉浸式模式。该应用程序在沉浸式模式下具有全屏 Web 视图,但问题是 Web 视图内容有一个文本框。当用户触摸文本框时,它将触发软键盘,这将禁用沉浸模式。我解决了文本框失去焦点时的问题,它会触发一个 javascript 界面再次重新激活沉浸式模式。但问题是显示软键盘时的隐藏/返回按钮。

这是图像

我试过了onKeyDowndispatchKeyEventonBackPressed调试时都没有触发。

0 投票
0 回答
63 浏览

android - 带有 startActivityForResult 的沉浸式应用程序

我有一个全屏、沉浸式粘性活动 A,由于:https ://developer.android.com/training/system-ui/immersive.html,它可以正常工作。

从那里我想使用如下方式拍照startActivityForResult()https ://developer.android.com/training/camera/photobasics.html

但是,在将 A 放入系统相机应用程序之前,系统栏很快出现在我的应用程序中,这很烦人。我怎样才能防止这种情况?

最好也阻止camery应用程序中的系统栏,但我认为这是徒劳的。

0 投票
1 回答
1044 浏览

android - 如何为 Native Activity NDK 应用启用全屏沉浸式模式?

阅读https://developer.android.com/training/system-ui/immersive.html上的文档,我似乎找不到任何关于如何在 Native Activity NDK 应用程序中设置全屏沉浸模式的信息(不使用 JNI ) 因为似乎全屏沉浸模式只能从 Java 切换。

由于无法从清单中设置(在清单中设置 Android 沉浸式全屏模式),有没有办法通过 EGL 请求它?

似乎启用全屏沉浸式模式的唯一方法是在通过 EGL 请求表面之前通过 JNI 调用 setSystemUiVisibility?