如何在android中将软键的颜色更改为白色(导航按钮)

如何在android中将软键的颜色更改为白色(导航按钮),android,android-layout,navigationbar,Android,Android Layout,Navigationbar,我正在制作一个基本的启动程序,我需要我的通知栏和状态栏是完全透明的。所以我使用下面的代码 Window w = getWindow(); // in Activity's onCreate() for instance w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 这样做的技巧,但颜色的软键不是白色的,如下图所示 我

我正在制作一个基本的启动程序,我需要我的通知栏和状态栏是完全透明的。所以我使用下面的代码

Window w = getWindow(); // in Activity's onCreate() for instance
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
这样做的技巧,但颜色的软键不是白色的,如下图所示


我怎样才能把它变成白色呢?

目前看来这是不可能的。至少,在非根设备上。这些按钮显示来自ROM的预定义图像(属于
com.android.systemui
的一部分)

有一个关于在屏幕上设置软键主题的讨论

你唯一能做的就是在明暗主题之间做出选择:

(摘自)


如果它在未来的SDK中发生变化,我也不会感到惊讶,不过..

Ok最终在棒棒糖中解决了它。但我还没有在低于棒棒糖的设备上测试过

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);
    }

谢谢你的回复。我用棒棒糖解决了。但是还没有在棒棒糖下面的设备上测试过。在Kotlin中,你可以这样做:window.apply{addFlags(WindowManager.LayoutParams.FLAG\u DRAWS\u SYSTEM\u BAR\u BACKGROUNDS)statusBarColor=Color.TRANSPARENT navigationBarColor=Color.TRANSPARENT}