在android中动态设置状态栏颜色

在android中动态设置状态栏颜色,第1张

概述如何为应用程序动态设置状态栏颜色,使用视图寻呼机,同时滑动(水平)状态栏颜色和标题栏和按钮应更改颜色.根据我的代码标题和按钮颜色完美变化,但问题是状态栏颜色从数组列表中获取下一个颜色.如何解决这个问题任何人都可以帮助我.这是我的代码 private int[] colors = new int[]{0xffffd200, 0xff37beb7, 0xff00ccff, 0xff8585c1, 0x 如何为应用程序动态设置状态栏颜色,使用视图寻呼机,同时滑动(水平)状态栏颜色和标题栏和按钮应更改颜色.根据我的代码标题和按钮颜色完美变化,但问题是状态栏颜色从数组列表中获取下一个颜色.如何解决这个问题任何人都可以帮助我.这是我的代码
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]

总结

以上是内存溢出为你收集整理的在android中动态设置状态栏颜色全部内容,希望文章能够帮你解决在android中动态设置状态栏颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1134894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存