android 把状态栏的图标设置成黑色
// 设置任务栏图标颜色为黑色 public void changStatusIconCollor(boolean setDark) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ View decorView = getWindow().getDecorView(); if(decorView != null){ int vis = decorView.getSystemUiVisibility(); if(setDark){ vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } else{ vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } decorView.setSystemUiVisibility(vis); } } } //当setDark为true时,设置为黑色,反之为设置为白色
参考文章:https://blog.csdn.net/qq_28484355/article/details/78588276
Android底部导航栏item点击改变颜色
笔者使用的是BottomNavigationView控件,在AndroidStudio新建activity时,有使用此控件的activity,点击时会有颜色变化,但是这个变化是跟随activity的主题变化,我们当然是希望依照自己的意愿来设置颜色变化。
查看BottomNavigationView组件的属性我们可以看到其中两个选项
app:itemIconTint//item图标颜色 app:itemTextColor//item字体颜色
我们添加文件:color_state_menu_navi.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#C4C4C4" android:state_checked="false"/> <item android:color="#33cc33" android:state_checked="true"/> </selector>
用来设置选中和被选中时候的颜色状态
然后在layout布局文件中的对应组件中添加:
<android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="0dp" android:layout_marginEnd="0dp" android:background="?android:attr/windowBackground" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:itemIconTint="@color/color_state_menu_navi" //此处和下一行 app:itemTextColor="@color/color_state_menu_navi" app:menu="@menu/navigation" />
这样即设置完成。