android 4.4以上可以实现的沉浸式状态栏效果

只有android4.4以及以上的版本才支持状态栏沉浸效果

先把程序运行在4.4以下的手机上,看下效果:

android 4.4以上可以实现的沉浸式状态栏效果_第1张图片


在4.4以上的效果:



当然图片也是可以作为背景的.效果:


android 4.4以上可以实现的沉浸式状态栏效果_第2张图片


代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
		    Window window = getWindow();
		    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
		    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
		}
		requestWindowFeature(Window.FEATURE_NO_TITLE);

只按照当前的代码,虽然已经实现了状态栏的沉浸效果.但是我们的view整体往上平移了

现在只要在我们的布局文件中的顶层布局中加入以下声明就可以了

android:fitsSystemWindows="true"
    android:clipToPadding="true"


我们也可以在程序中动态的改变一下顶层布局的背景颜色,这样我们的状态栏也会改变

<span style="white-space:pre">			</span>localcolor+=20;
			if(localcolor>0xff) {//这里做一个判断,当数值超过255的时候,就设置成255
				localcolor=0xff;
				Log.e("大于255", "设置为255");
			} else {
				Log.e("小于255", "当前颜色为"+localcolor);
			}
			//红 绿 先设置为固定颜色
			rl_all.setBackgroundColor(Color.rgb(0x45, 0xd3, localcolor));



你可能感兴趣的:(android 4.4以上可以实现的沉浸式状态栏效果)