【发布时间】:2016-01-11 07:07:42
【问题描述】:
我需要更改 android 上的导航栏。就像下图中右侧的“轻”变体
如https://www.google.co.in/design/spec/layout/structure.html#structure-system-bars 中所述。
现在,我可以使用
"android:navigationBarColor"
我明白了
但似乎没有办法将按钮颜色更改为深色。
任何人都知道怎么做。
PS:
在 AOSP 中研究负责 NavigationButtons 的类时,我可以找到 NavigationBarView.java、PhoneStatusBar.java、PhoneWindowManager.java、navigation_bar.xml。
我正在考虑为导航栏按钮(如ic_sysbar_recent)获取可绘制对象的参考并更改它们的色调。但这些是私人的,我无法得到他们的参考。
另外,我看到有人使用 xposed 库来做到这一点L-NAVBAR,但我不想使用任何外部库。
【问题讨论】:
-
如果我错了,有人纠正我,但导航栏按钮是图标,这就是它们不会自动改变颜色的原因。要么把它们换成深色的(如果可能的话)或者试着把它们倒过来。
-
@showp1984 是的,我想知道更改这些图标的方法。 (KeyButtonView 按照android.googlesource.com/platform/frameworks/base/+/…)
-
根据developer.android.com/training/material/theme.html --> “当你自定义导航栏和状态栏时,要么让它们都透明,要么只修改状态栏。在所有其他情况下,导航栏应该保持黑色。” - 这是不可能的。
-
@DanielOcampo 检查问题,已经将导航栏设置为所需的颜色(白色),问题是如何更改导航栏上按钮图标的颜色。
-
@DeniErdyneev 是的,只是要求设计师更改设计:)。