问题标签 [android-navigation-bar]

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 回答
133 浏览

android - Android - 双击主页按钮作为默认操作

我目前正在实现一个android应用程序。当我按下主页/概览按钮时,应用程序默认暂停(显示第二个应用程序概览)。我注意到最近的 android 版本中的大多数应用程序都可以双击主页和概览按钮。具体来说,当按下主页/概览按钮时,它会弹出一条吐司消息“再次点击退出”。这是主页/概览按钮的默认操作吗?如果是这样,我如何在我的应用程序中启用它?如果没有,我可以覆盖默认行为吗?在各种帖子中都提到无法替换主页/概览按钮操作,因为它们是系统默认的(这就是为什么没有像 onBackPressed 这样的后退按钮处理方法的原因)。

0 投票
1 回答
1156 浏览

android - 如何在 Android AccessibilityService 中查找状态栏、导航栏和屏幕的尺寸

我有一个 Java 应用程序(API 23)。在其中我有一个MainActivity和一个AccessibilityService。在 AccessibilityService 中:

我需要调整width, height,使其覆盖整个屏幕,包括状态栏和导航栏xPosyPos这意味着我必须找到状态栏、屏幕和导航栏的尺寸(一旦有了这些值,我就可以计算出我需要的值)。

我找到了状态栏的高度?- 最好的答案似乎是

但是我rootView可以使用什么,因为不能保证我的 Activity 是可见的?我是否必须将视图的创建从内部移动onServiceConnected()到内部onApplyWindowInsets()

这真的是最好的方法吗?

针对上述问题要记住的后续问题 - 取决于上述内容以及它是否也回答了这些问题,我将在这里或在一个单独的问题中提出:

屏幕旋转时会发生什么?如果状态栏和/或导航栏消失(例如,如果它进入全屏状态)怎么办?似乎我需要处理这个问题,重新读取高度,然后重新创建视图。欢迎任何关于如何做到这一点的想法或指导。

=== 更新 - 到目前为止的进展 ===

我以为我只需要屏幕大小以及有关状态栏的信息(大小、位置),但导航栏有时位于屏幕的左侧,所以我需要它,而且键盘也可能会影响事情。

我可以得到屏幕尺寸

我仍在研究各种位置和尺寸。我尝试创建一个视图然后阅读插图,但它给了我错误的答案。因此,除非出现更好的答案,否则我可能不得不使用

但是,如果状态栏被隐藏,在某些情况下可能会给出错误的答案,并且它不会告诉我它在屏幕上的位置。我仍在努力;有一些事情要尝试,所以我们拭目以待。

可以使用 onConfigurationChanged() 处理服务中的旋转 - 请参阅如何使用服务来监控 Android 中的方向变化

希望对某人有所帮助-请拼​​命寻找那些最后的作品。

0 投票
2 回答
1711 浏览

android - 如何在没有系统栏的情况下全屏显示启动画面?

我正在尝试制作一个没有系统栏的全屏作为我的启动屏幕,但是在我的应用程序启动时调整我的根布局大小时遇到​​了一些问题。

我对底部没有任何问题,因为我的根布局在导航栏后面调整大小并转到屏幕末尾我真正想做的事情。问题出在根布局的顶部,因为它没有到达屏幕顶部。在我的屏幕顶部,我隐藏状态栏后留下了黑色的空白区域。

注意:我使用 minSdkVersion 22 和 targetSdkVersion 29。

出于演示目的,我将使用简单的代码,其中包含一个活动和一个对应的 XML 布局文件,其中绿色背景和约束布局中的 2 个按钮作为根布局。

主要活动:

活动主:

主题:

左边是我在没有系统栏的情况下用黑色空间触摸屏幕之前的应用程序,但调整大小的根布局(绿色)错误,右边是我用系统栏触摸屏幕并正确调整大小的根布局后的应用程序。

在此处输入图像描述

在我与屏幕进行任何交互之前,我想要一个全屏的应用程序,没有黑色空间,并且具有完全调整大小的根布局并为我的初始屏幕隐藏系统栏。我怎样才能做到这一点?

更新:我正在使用 minSdkVersion 22 和 targetSdkVersion 29,并在三星 Galaxy A40(Android 10,API 29)上进行了测试。在三星上,我总是在顶部有一个黑色空间,但在 ZTE Nubia (API 22) 上一切正常。到目前为止,唯一的解决方案是像这样更改设备设置:如何在 Galaxy 上启用全屏应用程序@SlothCoding 在评论中向我展示的内容。

UPDATE2:如果您不想更改设备设置,那么您需要此代码用于在屏幕区域内置摄像头的手机,或者在官方术语中,您需要它在剪切区域中显示内容:

0 投票
1 回答
910 浏览

android - 当约束布局在 ScrollView 中时如何修复底部导航栏?

我的 xml 文件中的 Scrollview 中有约束布局,并且我希望在移动屏幕底部有一个固定导航栏,当我滚动页面时无法滚动该导航栏。当我的约束布局在 Scrollview 内时,如何修复移动屏幕底部的底部导航栏(因为我希望在滚动时滚动整个页面内容)?附件是xml布局文件。这是底部导航栏的图像。

ScrollView 中具有约束布局的 XML 布局文件 -

0 投票
1 回答
1366 浏览

android - Android 11 (API 30) 中的导航栏不完全透明

由于getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);在 Android API 30 中不起作用。我尝试了本教程中的另一个代码:

但是导航栏不是完全透明的(img),就像在谷歌应用程序中一样。如何实现完全透明的导航栏?

0 投票
0 回答
26 浏览

android - 为什么我的 NavigationBar 不能完全透明?

在我的 theme.xml 中,当我设置以下

statusBar的现在是完全透明的。但我navigationBar的仍然不是完全透明的。为什么?我怎样才能让我的navigationBar完全透明(因为我想在它下面放一种不同的颜色,而不想让它被它的半透明污染)

在此处输入图像描述

0 投票
1 回答
142 浏览

c# - Xamarin.Android 隐藏导航栏

我尝试了很多方法来隐藏导航栏,但没有任何效果

这个例如不起作用,即使它应该。

我正在使用 Xamarin.Android,所以任何与 Xamarin.Forms 相关的东西都不能正常工作

我必须调用/设置什么参数、标志或选项来隐藏导航栏?

Xamarin.Android 页面中显示了如何隐藏它,但它已被弃用。不知道是不是2017年...

0 投票
0 回答
60 浏览

android - 如何在android底部导航栏中的所选项目上设置默认图标颜色

我希望图标的颜色与其相同,但仅适用于选定的颜色,而其他颜色则适用于未选择的颜色。

这就是我正在做的

XML:

选择器:

我希望 x 与图标的颜色相同,并且 btw 图标是多色的。我怎样才能做到这一点?

0 投票
0 回答
9 浏览

android-videoview - 点击videoview时会弹出导航栏

在我的应用程序中,我使用 videoview 和 mediacontroller 播放视频,我在 android studio 中使用全屏模板,它工作正常,除了当我点击视频本身时,因为导航栏弹出(带有主页按钮的那个)是有没有办法防止它弹出?

0 投票
0 回答
27 浏览

android - 轻导航栏问题

我想要具有白色 navigationColor 和灰色图标的轻型导航栏。

但它像这样显示,图标不可见。

我已经尝试了很多解决方案,但没有一个对我有用(Android Pixel 2XL 11)它导致其他设备的像素设备出现问题,它工作正常。

任何人都知道我该如何解决这个问题。

我尝试过的解决方案。

这是themes.xml v-27

在此处输入图像描述

这是用 BaseActivity 编写的代码。

吨

请让我知道我能做些什么来解决这个问题。

谢谢你。