Gau*_*sth 35 android material-design
我需要更改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.
我想要获得导航栏按钮的drawable参考,ic_sysbar_recent并改变他们的色调.但这些是私人的,我无法得到他们的参考.
另外,我看到人们使用xposed库来做L-NAVBAR,但我不想使用任何外部库.
小智 25
如果您使用的是API 27(Android 8.1)或更高版本,则可以在主题中实现此目的:
<item name="android:windowLightNavigationBar">true</item>
Run Code Online (Sandbox Code Playgroud)
您可以创建一个名为values-v27的文件夹,并使用一个光源导航栏和上面的代码放置一个主题版本(在styles.xml中),以获得深色导航栏按钮.
这样,使用Android 8.0或更低版本的用户将获得标准(黑色)导航栏,而使用Android 8.1或更高版本的用户将获得带有暗按钮的白色导航栏.
lid*_*kxx 13
从Android O开始,它非常简单,你可以:
View.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
Run Code Online (Sandbox Code Playgroud)
为使此操作生效,窗口必须请求FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,但不能请求FLAG_TRANSLUCENT_NAVIGATION.
文档:https://developer.android.com/reference/android/view/View.html#SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
您可以调整
windowLightNavigationBar = true/false和
navigationBarColor = @color/yourColorId
所以有4种情况,我做了一个实验:
windowLightNavigationBar= false简而言之,你不想
navigationBarColor=White
或者
windowLightNavigationBar= truewhile navigationBarColor=Black
(这将在某些设备上连接)
| 归档时间: |
|
| 查看次数: |
23384 次 |
| 最近记录: |