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

编程入门 行业动态 更新时间:2024-10-28 22:25:30

「WinddowInsets(二)」我们能用WindowInsets<a href=https://www.elefans.com/category/jswz/34/1765403.html style=做什么?"/>

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

WindowInsets

我们能用WindowInsets做什么?

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

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

多牛逼?

全屏绘制内容

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

Edge-To-Edge

你可以将部分绘制内容绘制到状态栏下了。

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

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

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

例如:

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

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

更多推荐

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

本文发布于:2023-06-30 16:36:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/963167.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:做什么   能用   WinddowInsets   WindowInsets

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!