美文网首页
日更(四十四)-flutter-PageView的重绘问题

日更(四十四)-flutter-PageView的重绘问题

作者: Jlanglang | 来源:发表于2019-02-13 22:52 被阅读0次

瞎扯

昨天写了展开的ExpandIcon,在写的过程中,发现.
pageview每次切换都会重新创建weight.
不会保存状态

这个就有问题了.
实际开发,这是绝对不能容忍的.

解决方法:

方法1 AutomaticKeepAliveClientMixin

class _UserPagerState extends State<UserPager> with AutomaticKeepAliveClientMixin {

然后实现一个方法.

  @override
  bool get wantKeepAlive => true;

默认实现是null,这里可以看到返回参数是bool,改成true就好了.

如果发现这个没用,那么方法2

方法2

将 PageView 的代码拷贝出来, 然后把其中Viewport的属性 cacheExtent 设置成一个比较大的数
PageView 源码中官方写死了cacheExtent: 0.0. 如果将这个赋值删掉, 那么最终会使用默认值250.0,可以缓存一个Widget

image.png image.png

其实就相当于.viewpage的setOffscreenPageLimit();

cacheExtent

假如当前页面是X
cacheExtent 的作用是: 当偏移X.width() + cacheExtent 时销毁X

也就是X轴的宽度+cacheExtent 设置的值.

超过了就会销毁当前页.

所以要想不销毁页面.就把这个cacheExtent设的很大.


目前来看,不是很科学.如果第一种方法行不通,第二种其实也不是很好.
不过也可以看作是自己重新写了一个pageview.


交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.

相关文章

  • 日更(四十四)-flutter-PageView的重绘问题

    瞎扯 昨天写了展开的ExpandIcon,在写的过程中,发现.pageview每次切换都会重新创建weight.不...

  • 日更(三十五)-flutter-pageview

    瞎扯 大年三十,新年快乐.趁着春晚唱歌的时间,瞎写一点.过年期间只能保持不断,算是写个标题,定个目录吧 PageV...

  • 3DUI改变字体大小后框没有自动缩小需要重绘吗?不需要

    设置手工重绘以及调用重绘解决不了问题 最后我调整ui结构外层套一个包裹就行了

  • flutter-pageview

    类似iOS 的UIPageController 构建 构建row pagecontroller

  • 22,重绘、回流

    1,浏览器渲染机制 2,重绘 3,回流 > 重绘。 4,浏览器优化 5,减少重绘和回流

  • 【日更•四十四】桑椹

    夏天真是个美好的季节~樱桃熟了,杏也要熟了。在这个季节一场大饱口福的水果聚会在等着我们。 看到邻居家晒的桑椹,突然...

  • 重立日更

    逆水行舟,不进则退。—— 与诸君共勉 虽说这些日子断了更,有些清闲洒脱,但也没了前行的气力。长此以往,怕不是什么好...

  • 简书群为什么只周更

    日更,当然是比周更相当厉害的呢!可你想过文章的质量问题吗?呸呸呸,我们今天不谈这个。 @小绘君 都知道吧?...

  • 坚持就是胜利

    日更第四十四天,虽然写的东西乱七八糟,但是坚持的力量后劲十足。 这会待在医院里等人,闲的没事干,想起来今天还没日更...

  • 日更的问题

    有段时间没有日更了。 今天听了辉哥改变自己的语音,是关于如何日更的。最后说了三个问题,我感觉我存在。 一个是每天固...

网友评论

      本文标题:日更(四十四)-flutter-PageView的重绘问题

      本文链接:https://www.haomeiwen.com/subject/zzvjeqtx.html