如何根据状态栏的不同在暗和亮之间更改通知的状态栏图标。在某些应用程序中,状态栏是暗的,在这种情况下图标应该是亮的,而在其他应用程序中,状态栏是亮的,在这种情况下图标应该是暗的。那么,我如何得到一个状态栏图标,显示灰色的应用程序与轻主题,并显示白色在黑暗的主题应用程序?先谢谢你了。编辑:我需要知道的是如何改变我的应用程序通知状态栏图标颜色为亮/暗,我不想改变状态栏颜色。例如:状态栏中的YouTube应用程序通知图标通常是亮的,但当状态栏是亮的时会更改为暗图标。
bkkx9g8r1#
不幸的是,你不能在23 API级别以下的状态栏中使用暗图标。你可以为23+及以下API级别设置一个单独的主题,然后在主题中使用此属性,使状态栏变亮,图标变暗:
<item name="android:windowLightStatusBar">true</item>
更新:实际上你不能改变图标本身的颜色。系统独立处理它。它总是在深色状态栏上绘制白色图标。如果你想在浅色状态栏上绘制深色图标-你应该告诉系统,你正在使用一个浅色状态栏通过该属性,我上面提到过。但它只能在23+ API级别上实现。
nhjlsmyf2#
您可以使用以下代码片段:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (darkIcons) { window.decorView.systemUiVisibility = window.decorView.windowSystemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR } else { window.decorView.systemUiVisibility = window.decorView.windowSystemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv() } }
2条答案
按热度按时间bkkx9g8r1#
不幸的是,你不能在23 API级别以下的状态栏中使用暗图标。你可以为23+及以下API级别设置一个单独的主题,然后在主题中使用此属性,使状态栏变亮,图标变暗:
更新:实际上你不能改变图标本身的颜色。系统独立处理它。它总是在深色状态栏上绘制白色图标。如果你想在浅色状态栏上绘制深色图标-你应该告诉系统,你正在使用一个浅色状态栏通过该属性,我上面提到过。但它只能在23+ API级别上实现。
nhjlsmyf2#
您可以使用以下代码片段: