
Screenshot_1571168609.png

Screenshot_1571171297.png
1. 关于 PageView
PageView and PageController 都是在 State里面定义的
1.先定义final PageController _pageController = PageController(); ()
2.然后 final pageView = PageView(
controller: _pageController,
scrollDeriction: vertical //...
children: [
Page1(),
Page2(),
]
)
3. PageView 本身是适合少量的页面
4. initialPage: 0, 指的是初始化的时候, 哪个页面被显示出来,0就是第一个页面,1就是第二个页面
5. PageView里面的页面, 也是可以用 ListView的,即可以使用滚动页面
6. viewportFraction: 0.5, 指的是你写的页面应该占据手机屏幕的百分比, 需要 hot restart.
7. 深入一下: 也学hn-app, 加一个listener(),
8. 添加 一个 BottomNavigationBar, 同时能控制主体页面的滑动。
9. 再添加一个 drawer() ???? 以后吧。good enough for now .
2. 其他的
1. Fields in a Widget subclass are always marked "final".???
2. theme: ThemeData(primarySwatch: Colors.pink, ), 改变整体的颜色
4. AppBar(elevation: 0.0, //相对上级widget的高度位置)
5. actions: <Widget>[your widget], 可以自定义添加组件
6. dart: abs(), clamp()
7. 处理阴影:
boxShadow: [
BoxShadow(
color: Color(0xFF9E1F28),
offset: Offset(0.0, 2.0),
blurRadius: 6.0,
)]
8. 点击,转到另一个页面:
child: GestureDetector(
onTap: () => Navigator.push(
context,
MaterialPageRoute(
builder: (_) => MovieScreen(movie: movies[index]),
),
),
),
3. 一些感受和建议
1. AVD安卓模拟器
强烈建议选择 Nexus,而不是Pixel,启动和运行都更快一些,
如果你的机器性能足够强悍,请忽略。
2. dart, 明显有java和python的影子。
3. 对于一个组件,它的上级, 同级,下级分别可以是什么?多测试!
4. 对于别人的例子,不能完全照抄,偶尔修改一下,试试看有什么不同。
5. 动画: 强烈推荐AnimatedContainer,Hero
网友评论