好的,最终在Android 5.0上解决了这个问题。但是我还没有在低于Android 5.0的设备上测试。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
}
目前看起来似乎是不可能的,至少在非ROOT设备上是这样。这些按钮显示来自ROM(即com.android.systemui
的一部分)的预定义图像。
关于主题软键有一个XDA-Developers的讨论。
你唯一真正可以做的就是选择浅色或深色主题:
(摘自https://www.google.com/design/spec/layout/structure.html#structure-system-bars)
虽然我不会对未来的SDK有所改变感到惊讶。
window.apply { addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) statusBarColor = Color.TRANSPARENT navigationBarColor = Color.TRANSPARENT }
- Alejandro H. Cruz