如何为应用程序动态设置状态栏颜色,使用视图寻呼机,同时滑动(水平)状态栏颜色和标题栏和按钮应更改颜色.根据我的代码标题和按钮颜色完美变化,但问题是状态栏颜色从数组列表中获取下一个颜色.如何解决这个问题任何人都可以帮助我.这是我的代码
private int[] colors = new int[]{0xffffd200,0xff37beb7,0xff00ccff,0xff8585c1,0xfff2a03c,0xff2a80b9,0xfff15972,0xffe9776c,0xff9dcc96,0xff76c069}; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = ((Activity) context).getwindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYstem_BAR_BACKGROUNDS); int coloring = position % colors.length; int new_color = colors[coloring]; window.setStatusBarColor(new_color); title_bar.setBackgroundColor(new_color); set_share.setBackgroundColor(new_color); } else{ int color = position % colors.length; itemView.setBackgroundColor(colors[color]); title_bar.setBackgroundColor(colors[color]); set_share.setBackgroundColor(colors[color]); }
解决方法
要更改状态栏颜色,请使用setStatusBarColor(int color).根据javadoc,我们还需要在窗口上设置一些标志.
工作代码片段:
Window window = activity.getwindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYstem_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setStatusBarColor(activity.getResources().getColor(R.color.example_color));
这取自以下参考:
How to change status bar color to match app in Lollipop? [Android]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。