关于本章节中几个知识点的疑问
来源: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 _imageUrls
和double appBarAlpha;
,而在其他地方生命变量会通过final
关键字修饰,那么什么情况下需要用final
关键字修饰,什么情况下不需要呢,另一个就是,这里的变量为什么不需要声明成私有变量(变量前没有加"_");
问题有些啰嗦了,请老师耐心解答。不胜感激
写回答
1回答
-
CrazyCodeBoy
2021-01-07
进入Notification源码,选中Notification然按Ctrl或comand+B查看它的派生类。
notification.metrics有那些熟悉可以通过长按Ctrl或command然后单击metrics进行查看。00