Android 状态栏沉浸

在开发过程用到的一些基础的功能,保存一下,就不用再到处乱找了!

现在很多的项目的状态栏都要求标题和状态栏的颜色一样,我的项目中也是,所以今天写一下

public void setImmerseStatue(View view) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //透明导航栏
        //getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        int statusBarHeight = getStatusBarHeight(this.getBaseContext());
        view.setPadding(0, statusBarHeight, 0, 0);
    }
}
/**
 * 用于获取状态栏的高度。 使用Resource对象获取(推荐这种方式)
 *
 * @return 返回状态栏高度的像素值。
 */
public static int getStatusBarHeight(Context context) {
    int result = 0;
    int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen",
            "android");
    if (resourceId > 0) {
        result = context.getResources().getDimensionPixelSize(resourceId);
    }
    return result;
}
如图:
这两个方法你可以自己定义一个基类,然后调用就行,就不用一遍一遍的调用了,
在调用的时候你调用
setImmerseStatue(View view),传的这个参数view就是你定义xml根布局的view,这个根布局必须定义它的背景才能用,切记!这点很重要!
其他的方法也能用,我也没有找,没有对比,希望喜欢,有用!
其他相关的可以看看这个,这个写的很好
  
  
http://devnote.info/2016/08/08/View%E9%A1%B6%E9%83%A8%E6%82%AC%E6%B5%AE%E5%AE%9E%E7%8E%B0/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值