Andorid中系统状态栏的修改

  1. 如果系统4.4+,直接设置Activity的Window属性即可

JAVA对应的样式

if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
            //状态栏透明
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
             //导航栏透明
           // getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

XML对应的样式 :values-v19

        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>


备注:

如果使用了ActionBar,可能内容就跑到了状态栏了,此时可设置布局是否考虑状态栏,这样系统就会自动调整边距。

<item name="android:fitsSystemWindows">true</item>

144934_NoUu_1770617.png

144935_LcCR_1770617.png

也可以获取状态栏一般高度,也可以直接填充

获取方式:

//状态栏高度
int resourceId = Resources.getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
	result = Resources.getDimensionPixelSize(resourceId);
}
//ActionBar高度
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
         TypedValue tv = new TypedValue();
         context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true);
         result = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics());
}

145936_QsHm_1770617.png

反正喜欢你就随便折腾呗


但是针对4.4一下肿么破,有人搞出来了,还了下还好,怎么使用还是看自己吧

https://github.com/jgilfelt/SystemBarTint.git

转载于:https://my.oschina.net/u/1770617/blog/371062

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值