sliver
import 'package:flutter/material.dart';
import 'package:xxx/bloc/bloc.dart';
import 'package:xxx/model/model.dart'; class ArticlePage extends StatelessWidget {
ArticlePage(this.bloc); final ArticleBloc bloc; @override
Widget build(BuildContext context) {
bloc.addContent();
return StreamBuilder(
stream: bloc.dataBloc.stream,
builder: (context, snapshot) {
if (snapshot.hasData) {
ContentModel content = snapshot.data;
print(content.mainPost);
return Scaffold(
appBar: AppBar(
title: Text(content.title, style: TextStyle(fontSize: 14.0),),
),
body: CustomScrollView(
slivers: <Widget>[ SliverPadding(
padding: EdgeInsets.all(8.0),
sliver: SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
childAspectRatio: 4.0,
),
delegate: SliverChildBuilderDelegate(
(context, int index) {
return Container(
color: Colors.grey,
child: Text('hello'),
);
},
childCount: 20,
),
),
), SliverFixedExtentList(
itemExtent: 50.0,
delegate: SliverChildBuilderDelegate((context, int index) {
return Container(
color: Colors.blueGrey,
child: Text('hello2'),
);
}),
),
],
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: (){}
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
bottomNavigationBar: BottomNavigationBar(
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('home')
),
BottomNavigationBarItem(
icon: Icon(Icons.map),
title: Text('My')
),
]
),
);
} else {
return Scaffold(
appBar: AppBar(
title: Text('has no data'),
),
body: Text('has no data'),
);
}
},
);
}
}
//
//class ArticlePage extends StatelessWidget {
// ArticlePage(this.bloc);
//
// final ArticleBloc bloc;
//
// @override
// Widget build(BuildContext context) {
// bloc.addContent();
// return StreamBuilder(
// stream: bloc.dataBloc.stream,
// builder: (context, snapshot) {
// if (snapshot.hasData) {
// ContentModel content = snapshot.data;
// print(content.mainPost);
// return Scaffold(
// appBar: AppBar(
// title: Text(content.title),
// ),
// body: Column(
// children: <Widget>[
// //main area
// Text('post owner: ${content.owner}'),
// Text('post owner: ${content.ownerAvatar}'),
// Container(
// width: double.infinity,
// color: Colors.red,
// child: Column(
// children: content.mainPost,
// ),
// ),
// Text(content.mainPostTime),
// //replies
//
//
// ],
// ),
// );
// } else {
// return Scaffold(
// appBar: AppBar(
// title: Text('has no data'),
// ),
// body: Text('has no data'),
// );
// }
// },
// );
// }
//}
sliver的更多相关文章
- flutter Sliver滑动视图组件
import 'package:flutter/material.dart'; import './model/post.dart'; class SliverDemo extends Statele ...
- Flutter(75):Sliver组件之SliverFixedExtentList
Flutter教学目录持续更新中 Github源代码持续更新中 1.SliverFixedExtentList 可以固定Item高度的SliverList 2.SliverFixedExtentLis ...
- XDFZOI 月赛 201905 Sliver
组题人自己组完过后,才发现自己还是太弱了... T1 简单模拟. 按照游戏规则直接模拟显然是不明智的,所以我们可以像石头剪刀布一样,将判断改变为检验. 同时,我们发现,一共只有48种牌,所以我们可以直 ...
- 专业上的常用的工具和类库集 By 老衣
Visual Studio 2013 扩展 CodeMaid: 可快速整理代码文件,清理不必要的代码和杂乱的格式.并在开发时实时提供代码复杂度的报告,以便帮助开发人员降低代码复杂度.提高代码质量. C ...
- DNS解析过程和域名收敛、域名发散、SPDY应用
前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...
- 《CSS权威指南》读书笔记
一.css和文档层叠 css规定了冲突规则,这些规则统称为层叠.这些规则定义了样式发生冲突时以优先级高的为准. 常用的优先级判定: 1. 开发者样式>读者样式>浏览器样式(除非使用!imp ...
- JavaScript的学习--JavaScript设计模式的总结
这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...
- HTML快速入门2
三.版面风格控制 1. 字体控制 A. 字体大小 用 <font Size=#> 和 </font> 表示,#为字号: 1 - 7 ,缺省为 3 ,可用 <basefon ...
- <老友记>学习笔记
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...
随机推荐
- pom.xml文件最详细的讲解
1 引入额外的jar包 <dependency> <groupId>bitwalker</groupId> <artifactId>UserAgentU ...
- Webpack前端打包工具
一.安装 安装Webpack之前需要安装nodejs,然后用npm安装: $ npm install webpack -g &nsbp;运行以上命令就将Webpack安装到了全局环境中. 但 ...
- LeetCode - 766. Toeplitz Matrix
A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given ...
- Ubuntu下开启Mysql远程访问的方法
首先想说,JetProfiler对分析项目中MySQL问题以及优化,是个非常好的工具.但是看网上文章,中文介绍真的不多.是因为国内现在都不用MySQL了吗? 因为公司JetProfiler是共用的,安 ...
- Linux 的基本操作(系统用户及用户组的管理)
[认识/etc/passwd和/etc/shadow] 这两个文件可以说是linux系统中最重要的文件之一.如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的. /etc/pa ...
- 浅谈Observer在代码中表现形式
说到观察者模式,基本在软件工程领域中是应用广泛,不知道的可以先学习一番,下面给个快速的回顾,然后在通过一个grpc中的responseObserver谈下观察者对象在代码中的位置. 喜欢类图,就不上其 ...
- hive reduce 阶段GC Exception
某个reduce中的value堆积的对象过多,导致jvm频繁GC. 解决办法: 1. 增加reduce个数,set mapred.reduce.tasks=300,. 2. 在hive-site.xm ...
- git 设置tracking information
There is no tracking information for the current branch.Please specify which branch you want to merg ...
- js设计模式(六)---组合模式
组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构.除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性.基本图例 1.组合模式 ...
- css学习_css精灵技术、字体图标
1.精灵技术产生的背景(减少向服务器请求的次数,减小服务器压力) 2.精灵技术的本质(小的背景图集中在一张大图上) 3.精灵技术的使用 案例1: 案例2: 注意:产品类的图片一般不是用背景,而是用im ...