关于本章节中几个知识点的疑问

来源:8-5 自定义AppBar实现滚动渐变【另起炉灶】

慕无忌King

2021-01-06

1.关于Notification类

在监听类别滚动的通知回调中

onNotification: (notification) {
   // 滚动且是列表滚动
   if (notification is ScrollUpdateNotification &&
       notification.depth == 0) {
     _onScroll(notification.metrics.pixels);
   }
   return true;
 },

通过源码发现Notification类是以个抽象类,而在实际应用中,需要判断回调会的通知是哪一个子类。但是通过查看源码的方式,只能找到Notification类,而不知道Notification有哪些派生类,需要通过什么方法才能知道Notification类有哪些派生类
同理,在_onScroll(offset){}中,通过notification.metrics.pixels这个参数获取偏移量,但是这些个属性应该怎么去查看,如果仅仅是看Notification根本找不到这些属性。

2. 关于变量定义

在本章节中的私有类_HomePageState定义了List _imageUrlsdouble appBarAlpha;,而在其他地方生命变量会通过final关键字修饰,那么什么情况下需要用final关键字修饰,什么情况下不需要呢,另一个就是,这里的变量为什么不需要声明成私有变量(变量前没有加"_");

问题有些啰嗦了,请老师耐心解答。不胜感激

写回答

1回答

CrazyCodeBoy

2021-01-07

进入Notification源码,选中Notification然按Ctrl或comand+B查看它的派生类。
notification.metrics有那些熟悉可以通过长按Ctrl或command然后单击metrics进行查看。

0
0

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程