android 沉浸式状态栏 兼容低版本,Android 之低版本高版本实现沉浸式状态栏

沉浸式状态栏确切的说应该叫做透明状态栏。一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明。

沉浸式状态栏是从android Kitkat(Android 4.4)开始出现的,它可以被设置成与APP顶部相同的颜色,这就使得切换APP时,整个界面就好似切换到了与APP相同的风格样式一样。在内容展示上会显得更加美观。

功能:自行控制状态栏颜色,可以调节状态栏的亮度,还可以把背景图片作为导航栏

本博客主要说的是低版本Android4.4以下或者高版本Android4.4以上都可实现来实现状态栏,效果如图:

41db78a98a2353b2ed1a0d8e1f842e3d.gif

测试时,低版本高版本都是可行的。

代码:

父类Activity

/**

* Created by zq on 16/12/16.

*

* 此类便于其他Activity一同实现状态栏,只要集成此类就OK了

*

*/

public abstract class BaseActivity extends AppCompatActivity {

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setMainLayout();

setStatusBar();

}

/**

* 初始化布局

*/

protected abstract void setMainLayout();

/***

*状态栏 (自己选颜色即可)

*/

protected void setStatusBar() {

StatusBarUtil.setColor(this, getResources().getColor(R.color.colorAccent));

}

}

MainActivity.java

public class MainActivity extends BaseActivity {

@Override

protected void setMainLayout() {

setContentView(R.layout.activity_main);

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this,BackImaActivity.class));

}

});

}

}

图片背景状态栏

/**

* Created by zq on 16/12/16.

*

*/

public class BackImaActivity extends BaseActivity {

@Override

protected void setMainLayout() {

setContentView(R.layout.back_activity);

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

StatusBarUtil.setTranslucent(BackImaActivity.this,111);

}

});

}

/****

* 重写父类方法,覆盖的作用,可以实现状态栏的不同颜色或背景

*/

protected void setStatusBar() {

/**

* 参数

* 第一个:当前上下文

* 第二个:状态栏透明程度,值越大就越暗 0表示完全安背景显示 之范围(0-->255)

*/

StatusBarUtil.setTranslucent(this,0);

}

}

style.xml

@color/colorPrimary

@color/colorPrimaryDark

@color/colorAccent

true

false

不需要其他配置,只需要在style.xml文件中添加这两行代码即可:

true

false

由于代码太多,完整代码未给出,源码直接下载即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值