Android 安卓状态栏工具类(沉浸式、字体颜色等)(1),三年经验月薪50k我是怎么做到的

本文介绍了Android状态栏工具类StatusBarUtil的使用,包括沉浸式实现、状态栏字体颜色设置和填充View等功能。通过示例代码展示了如何在Kotlin中调用这些方法,适用于不同Android版本。
摘要由CSDN通过智能技术生成

使用案例(Kotlin)

//沉浸式实现

StatusBarUtil.immersive(this)

//填充View

//id:控件id

StatusBarUtil.setPaddingSmart(this, id)

//状态栏字体颜色

//true:黑色

//false:白色

StatusBarUtil.darkMode(this, false)

//状态栏颜色

//activity

//color(状态栏颜色值)

//alpha(透明度,取值范围 0.0f - 1.0f )

StatusBarUtil.darkMode(this, resources.getColor(R.color.color_00ff00), 0.5f)


工具类 StatusBarUtil

@SuppressWarnings(“unused”)

public class StatusBarUtil {

public static int DEFAULT_COLOR = 0;

public static float DEFAULT_ALPHA = 0;//Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? 0.2f : 0.3f;

public static final int MIN_API = 17;

//沉浸式

public static void immersive(Activity activity) {

immersive(activity, DEFAULT_COLOR, DEFAULT_ALPHA);

}

public static void immersive(Activity activity, int color, @FloatRange(from = 0.0, to = 1.0) float alpha) {

immersive(activity.getWindow(), color, alpha);

}

public static void immersive(Activity activity, int color) {

immersive(activity.getWindow(), color, 1f);

}

public static void immersive(Window window) {

immersive(window, DEFAULT_COLOR, DEFAULT_ALPHA);

}

public static void immersive(Window window, int color) {

immersive(window, color, 1f);

}

@SuppressLint(“ObsoleteSdkInt”)

public static void immersive(Window window, int color, @FloatRange(from = 0.0, to = 1.0) float alpha) {

if (Build.VERSION.SDK_INT >= 21) {

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(mixtureColor(color, alpha));

int systemUiVisibility = window.getDecorView().getSystemUiVisibility();

systemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;

systemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_STA

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值