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

android - Android 在一个片段中获得沉浸式屏幕

我正在尝试在我的一个片段中应用沉浸式模式,该片段由 viewPager 管理。

我的片段看起来像:

虽然这可行,但这适用于所有片段(即 viewPager 中的所有选项卡),这不是预期的。所以我有2个问题:

  1. 即使我将其专门应用于私有视图,它如何影响其他视图?
  2. 我试图手动清理onDestroy方法中的标签,以便其他片段不受影响,这也不起作用。

我在这里做错了什么?

0 投票
0 回答
215 浏览

android - 无布局反弹的全屏沉浸式模式

如何在不重新计算布局的情况下在沉浸式模式和非沉浸式模式之间切换,从而体验反弹效果?这是我用来在状态之间切换的相关代码:

显示弹跳的视频: 在此处输入图像描述

我想出的唯一解决方案是使用window?.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)inOnCreate()但这会导致另一个问题:即使不在全屏沉浸模式下,也不会显示状态栏。

编辑:布局文件:

0 投票
1 回答
53 浏览

android - 用户手动向上滚动导航栏后如何再次隐藏导航栏?

在我的应用程序的某个活动中,我隐藏了导航栏,因为该活动是全屏的。要隐藏导航栏,我使用以下代码:

在用户向上滑动导航栏之前,此代码可以正常工作。然后它就呆在那里。我想要的是它会在 2 秒左右后再次隐藏。有没有办法做到这一点?

我很感激任何帮助!

0 投票
0 回答
1432 浏览

android - Android全屏粘滞沉浸模式——如何更改导航栏背景或图标颜色?

我遵循了Android 开发教程并获得了全屏粘性沉浸式模式。这使得状态栏和导航栏隐藏起来,直到用户从底部向上或从顶部向下滑动,此时它们会出现并在不使用时慢慢淡出。

问题出在 Android 10(可能还有其他版本)上:屏幕底部的导航栏只是白色图标。没有透明的黑色背景。这使得使用轻量级 UI 很难看清。

有没有办法改变导航栏的背景或图标颜色?特别是出现和消失的粘性沉浸式导航栏(因为它太轻而无法与轻 UI 一起使用)。

我已经尝试过样式并以编程方式设置颜色,但它们只能在非全屏模式下工作:

我也试过听,OnSystemUiVisibilityChangeListener所以我可以在导航栏后面显示我自己的透明栏,但它不会触发粘性沉浸模式(如这篇 SO 帖子和视频中所述):

使用粘性沉浸模式检测系统 ui 何时可见

https://www.youtube.com/watch?v=cBi8fjv90E4&feature=youtu.be&t=6m56s

设置全屏的活动代码(kotlin):

0 投票
1 回答
92 浏览

android - 如何在横向上启用沉浸式模式

我在我的应用程序上显示谷歌地图。我希望它看起来身临其境,所以我添加了这一行。

这行代码在纵向模式下没有任何问题,但我也希望在横向模式下获得完整的沉浸式体验。状态栏在只有少数设备的横向模式下不透明/沉浸式。可能是安卓版本的原因。让我附上屏幕截图以更好地解释我的问题。

我还将这些属性添加到主题中

安卓版本:10

0 投票
0 回答
74 浏览

android - 在同时运行的多个模拟器上运行相同的 ADB Shell 脚本

在使用多个工作人员运行自动化 UI 测试时,我想执行以下脚本:

这将不起作用,因为 shell 不知道要定位哪个模拟器。

有没有办法使用相同的命令一次简单地定位所有模拟器实例?或者我可以以某种方式adb devices使用 JS 访问列表并将命令映射到每个实例吗?

0 投票
0 回答
20 浏览

javascript - 不能在 AR 会话后面使用共享对话框

我正在使用three.js 创建沉浸式xr AR 视图,并使用该dom-overlay功能显示共享按钮。

单击共享按钮时,共享对话框位于 xr-session 后面,用户没有任何迹象表明共享对话框在会话后面等待结束。

在 IOS 设备上进行测试时,结果令人满意,因为 AR 会话上方出现了共享对话框,因此我相信这个问题与 android 相关。

我创建了一个基于three.js webxr 演示(链接)的最小可重现示例(链接) ,并带有额外的dom覆盖:

HTML:

JS:

0 投票
1 回答
622 浏览

android - Jetpack Compose 测试版由于覆盖 fitSystemWindows 而无法实现边缘到边缘

我已将 Compose for my app 从1.0.0-alpha10最新的1.0.0-beta03

我想在系统栏下方边到边地布局我的活动内容。

除其他外,我使用以下代码告诉系统此意图。

这在以前的 Compose 版本中运行良好,但似乎beta03(或者可能是之后的早期版本alpha10)开始设置fitsSystemWindowstrue并使上述代码无效。(将它移到下面setContent { }也没有效果)

在布局资源管理器中,我可以看到decorView它的直接子级LinearLayout现在有fitsSystemWindows = true

我有下面的代码作为临时解决方案,它可以实现预期的行为。

这感觉就像我正在与 Compose 对抗以获得预期的结果。

告诉 Compose 不要覆盖的“正确”方法是什么fitsSystemWindows

0 投票
1 回答
572 浏览

c# - 在 Android、Xamarin.forms 上的整个应用程序中保持沉浸式模式

我想使用 Xamarin.forms 在 Android 上的整个应用程序中保持沉浸式模式。我读过一些博客和帖子。这个有效,但只有在我按下输入文本框或滚动屏幕之前。我想避免这种情况。这个问题辩论了我的担忧,但我不明白解决方案。也许它已经过时了。我的 android 设备是 7.1,这是我在.Android MainActivity, void OnCreate,上的代码void OnCreate

我该如何解决这个问题?您能否具体说明我应该在哪里找到新代码。我是 Xamarin.Forms 的菜鸟,对我来说看起来很棘手。谢谢

编辑:这段代码:

this.Window.AddFlags(WindowManagerFlags.Fullscreen);.Android MainActivity隐藏带有 wifi 信号、时间、蓝牙等的 Android 栏。

有没有这样一行来隐藏这个android按钮?

在此处输入图像描述

0 投票
0 回答
52 浏览

android-fullscreen - 如何退出沉浸式模式并返回默认的 Android UI 布局?

我正在尝试在我的一个片段中使用粘性沉浸式模式。然后当片段被销毁时,返回到默认的 UI 视图。

这是我的代码:

当我进入片段时,粘性沉浸模式有效,但是当它被破坏时,状态栏和应用栏之间存在间隙。它看起来像这样:

在此处输入图像描述

应用栏还覆盖了屏幕上的一些文本视图。当片段被销毁时,如何正确退出粘性沉浸模式并将其恢复为默认行为?