「WinddowInsets(二)」我们能用WindowInsets做什么?

WindowInsets

我们能用WindowInsets做什么?

首先,之前第一篇介绍过WindowInsets,它就是一些「系统视图」。那我要它干嘛,我平时开发都是直接xml中或者compose中直接就开始编写contentView了,根本不关心这什么Insets,爱谁谁。

但是当你知道Insets能做的事情,你将会实现更多「牛逼」UI效果了。

多牛逼?

全屏绘制内容

在以前我们绘制全屏内容都需要给Activity设置各种UI的FLAG,以致于UI可以绘制成全屏,然后动态计算一些状态栏的高度等。
现在你有WindowInsets后,只需要一行代码,即可实现。如何实现:

在这里插入图片描述

Edge-To-Edge

你可以将部分绘制内容绘制到状态栏下了。
在这里插入图片描述
哎,不对哎?这不就是全屏吗?有什么区别?嘻嘻,跟普通全屏来说就不一样了,当你全屏后,你会发现,我的下面的内容被「三大金刚(返回、桌面、最近任务)给挡住了,那我不得不在布局文件做固定的偏移或者代码动态偏移啊」,那我怎么知道是「三大金刚」还是「手势导航」呢?

没错,WindowInsets会告诉你哦~参考:

可以绘制任务状态栏的的风味

例如:

  • 全屏
  • 滚动的时候可将内容滚动到状态栏
  • 滚动的时候部分内容可以滚动到状态栏
  • 状态栏的颜色
  • 状态栏的内容
  • 状态栏反色等

可以说它非常强。上面介绍的比较简单,得先大致了解到它能干什么后,我们继续介绍它怎么做到的啊?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值