上一篇说了row和Column,但不带滚动。
这次我们说下带滚动效果的ListView
Flutter入门系列4---基础列表控件Row和Column
上一篇说了Container,流水的讲了Row和Column。这里来进一步的说下.
做过web的估计很好理解这个,因为这个和Web中Flex布局很像,但坑的是不带滚动属性,不像ScrollView。如果超出了一行,在debug下面则会显示溢出的提示。
这个顶部有三个控件,红黄蓝,通过设置flex来设置了占比。
class MyAppBar extends StatelessWidget {
MyAppBar({this.title});
final Widget title;
@override
Widget build(BuildContext context) {
return Container(
height: 56.0, // in logical pixels
decoration: BoxDecoration(color: Colors.blue[500]),
// Row is a horizontal, linear layout.
child: Row(
children: <Widget>[
Expanded(
child: Container(
color: Colors.red,
padding: EdgeInsets.all(5.0),
),
flex: 1,
),
Expanded(
child: Container(
color: Colors.yellow,
padding: EdgeInsets.all(5.0),
),
flex: 2,
),
Expanded(
child: Container(
color: Colors.blue,
padding: EdgeInsets.all(5.0),
),
flex: 1,
),
],
)
);
}
}
Flutter入门系列3---常用基础控件Container
这一篇基于官方的案例,说下基础控件TexT,IconButton,Column,Row.着重Container的使用
先上下效果图
顶部蓝色三个元素,一个汉堡图,一个title,一个右边的搜索图。
然后下面是一个简单的text。
Flutter入门系列2---基础状态widget使用介绍
现在先简单的说下flutter对应的一些基本控件,界面绘制内容逻辑.
配合说明状态管理这个事情,Flutter分了有状态和无状态组件,做过React+Redux套装开发的应该看下面代码很熟悉
- widget本身
- 父widget
- 另一个对象
想说下这个官方的简单demo,添加多个箱子,点击箱子,切换不同的显示效果
没选中显示灰色背景
Flutter系列1---介绍
Flutter作为一门新的技术,他的潜力在被逐渐的证明,比RN和weex等更强大的跨平台能力
基于Dart语言,像web一样的增量更新,基于Hot Reload的秒编。再也不用担心像ANDROID那样,项目一庞大,编译耗时就上去了,接着就开始各种插件化,热更新等技术的研究。折腾人,我们都想有web那种线上发布的能力,快速上线,不用等用户投诉了再发一个版本。
个人认为以后完全有可能替代java这个东西,因为其不需要知道太多移动开发的经验,就可以新造出一个应用 。相比kotlin这个语法糖,还是更有实在的革命性之处。
同时也支持在现有的app上加入,混编。
目前在我们项目已经开始替代一些基础页面做线上验证了,实际效果不错,开发效率也最少提高1.5倍,最重要是真跨平台,编完ios也可以用。
不过实际体验下来,如果不合native过多的数据交互,还是很方便的,如果有太多的交互,数据转换等问题也挺啰嗦的。
然后一直需要容器和child的嵌套,一开始还是蛮不习惯的,没有像安卓的xml那样写完可以看到.
不过习惯了也就那样了。
对于像我这种有过web开发经历的同学来说,做这个还是挺熟悉的,一股React+Redux的味道。
总之整体还是很看到Flutter的未来发展,他是完全可以替代RN的新真生产力工具。
这个系列计划
后面打算按照像当年学习android开发一样,把基础控件先写一遍教程,再把几个项目过程中使用到的框架介绍下。最后做一个最简单的todoList的demo,完成一个从网络加载数据,显示的流程。