Android 状态栏透明和图标反色
16lz
2021-01-23
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStatusTransparent(); setDarkStatusIcon(true); } /** * 说明:Android 4.4+ 设置状态栏透明 */ protected void setStatusTransparent() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 5.0+ 实现 Window window = getWindow(); window.clearFlags(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); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 4.4 实现 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } } /** * 说明:Android 6.0+ 状态栏图标原生反色操作 */ protected void setDarkStatusIcon(boolean dark) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { View decorView = getWindow().getDecorView(); if (decorView == null) return; int vis = decorView.getSystemUiVisibility(); if (dark) { vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } else { vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } decorView.setSystemUiVisibility(vis); } }}
更多相关文章
- Android中json操作数据的使用
- java android 获取手机操作系统相关信息
- android绘制图标
- Android中使用SVG与WebFont矢量图标
- 【Android学习三】相关指令操作
- android操作联系人Contacts
- 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launch