重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在安卓6.0,增加了SYSTEM_UI_FLAG_LIGHT_STATUS_BAR这个Flag字段,可以设置状态栏的字体为深色,不是一直默认的白色了。在浅色背景的沉浸式状态栏中很有必要。
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有东昌免费网站建设让你可以放心的选择与我们合作。
使用方式
window必须是FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS(绘画模式)且一定不能是FLAG_TRANSLUCENT_STATUS(半透明模式)
注:在8.0跟6.0系统上测试过,8.0这个并没有要求,6.0确实是需要这个前提
在一Activity多Fragment,各Fragment之间字体效果可能要求不同,需动态设置字体颜色
参考文章:
通常来说,每个界面都对应一个activity。而在activity的View视图中,可以在最外层容器去设置背景图片或背景颜色。
在xml布局里:
android:background="@drawable/img1"
或者
android:background="@color/white"
在java代码里,也可以设置
1
2
3
layout.setBackgroundColor(R.color.white);
layout.setBackgroundDrawable(drawable);
layout.setBackgroundResource(R.drawable.img1);
再者,系统默认的背景色是能过theme来控制的,就是说创建一个activity的背景色,如果在
AndroidManifest.xml文件里有设置如下:
android:theme="@android:style/Theme"
这样设置activity的主题样式,"@android:style/Theme"一般是系统默认的。这个不单是背景色,还有其它的样式,具体可以在网上查一下android:theme的用法。
而"@android:style/Theme"的背景色就是黑色。
//主要用到ColorMatrix、如果只是想要设置灰色 setSaturation(0)
ImageView logo = findViewById(R.id.logo);
ColorMatrix colorMatrix =new ColorMatrix();
// 1、 设置颜色矩形阵 主要利用三原色 Red、Green、Blue
colorMatrix.set(new float[]{
1, 0f, 0f, 0f, 0f //R
, 0, 1, 0, 0, 0 //G
, 0, 0, 1, 0, 0 //B
, 0, 0, 0, 1, 0}); //alpha
/* [a, b, c, d, e,
f, g, h, i, j,
k, l, m, n, o,
p, q, r, s, t ]*/
/* R rsquo; =a * R + b * G + c * B + d * A + e;
G rsquo; =f * R + g * G + h * B + i * A + j;
B rsquo; =k * R + l * G + m * B + n * A + o;
A rsquo; =p * R + q * G + r * B + s * A + t;*/
// 0 red 1 green 2 blue 设置色调 90代表角度
//2、colorMatrix.setRotate(0, 90);
//三原色的取值的比例值越高越趋向于该色值 第四个参数代表透明度 =1.0f原图 1.0f根据比例透明
//3、colorMatrix.setScale(1.1f, 1.1f, 1.1f, 1.0f);
//饱和度0-1 0灰色 1本身
//4、colorMatrix.setSaturation(0);
//设置
logo.setColorFilter(new ColorMatrixColorFilter(colorMatrix));