android 开发中状态栏的颜色、样式等修改教程!
程序员文章站
2022-05-31 08:20:12
android 开发中状态栏的颜色、样式等修改教程!第一种是设置特定颜色的状态栏,不是渐变透明的在清单文件里面的apilication使用。
android 开发中状态栏的颜色、样式等修改教程!第一种是设置特定颜色的状态栏,不是渐变透明的在清单文件里面的apilication使用。
<application android:name=".tntapplication" android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme">
<style name="apptheme" parent="theme.appcompat.light.noactionbar"> <item name="colorprimary">@color/colorprimarydarkitem> <item name="colorprimarydark">@color/colorprimarydarkitem> <item name="coloraccent">@color/coloraccentitem> <item name="actionmenutextcolor">@color/colorffffffitem> <item name="android:windowtranslucentnavigation" tools:ignore="newapi">falseitem>
style>
1.colorprimary 应用的主要色调,actionbar默认使用该颜色,toolbar导航栏的底色
2.colorprimarydark 应用的主要暗色调,statusbarcolor默认使用该颜色
3.coloraccent 为edittext,checkbox,radiobutton,switchcompat等一般控件的选中效果默认采用该颜色,比如光标
4.actionmenutextcolor 菜单栏的字体颜色
第二种,设置渐变透明的状态栏,底部有虚拟按钮时会自动顶起,
getwindow().requestfeature(window.feature_no_title); window window = getwindow(); //4.4版本及以上 if (build.version.sdk_int >= build.version_codes.kitkat) { window.setflags(windowmanager.layoutparams.flag_translucent_status, windowmanager.layoutparams.flag_translucent_status); // translucent navigation bar window.setflags( windowmanager.layoutparams.flag_translucent_status, windowmanager.layoutparams.flag_translucent_navigation); } //5.0版本及以上 if (build.version.sdk_int >= build.version_codes.lollipop) { window.clearflags(windowmanager.layoutparams.flag_translucent_status | windowmanager.layoutparams.flag_translucent_status); window.getdecorview().setsystemuivisibility(view.system_ui_flag_layout_fullscreen | view.system_ui_flag_layout_stable); window.addflags(windowmanager.layoutparams.flag_draws_system_bar_backgrounds); window.setstatusbarcolor(color.transparent);
放在baseactivity就可以了