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的更多相关文章

  1. flutter Sliver滑动视图组件

    import 'package:flutter/material.dart'; import './model/post.dart'; class SliverDemo extends Statele ...

  2. Flutter(75):Sliver组件之SliverFixedExtentList

    Flutter教学目录持续更新中 Github源代码持续更新中 1.SliverFixedExtentList 可以固定Item高度的SliverList 2.SliverFixedExtentLis ...

  3. XDFZOI 月赛 201905 Sliver

    组题人自己组完过后,才发现自己还是太弱了... T1 简单模拟. 按照游戏规则直接模拟显然是不明智的,所以我们可以像石头剪刀布一样,将判断改变为检验. 同时,我们发现,一共只有48种牌,所以我们可以直 ...

  4. 专业上的常用的工具和类库集 By 老衣

    Visual Studio 2013 扩展 CodeMaid: 可快速整理代码文件,清理不必要的代码和杂乱的格式.并在开发时实时提供代码复杂度的报告,以便帮助开发人员降低代码复杂度.提高代码质量. C ...

  5. DNS解析过程和域名收敛、域名发散、SPDY应用

    前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...

  6. 《CSS权威指南》读书笔记

    一.css和文档层叠 css规定了冲突规则,这些规则统称为层叠.这些规则定义了样式发生冲突时以优先级高的为准. 常用的优先级判定: 1. 开发者样式>读者样式>浏览器样式(除非使用!imp ...

  7. JavaScript的学习--JavaScript设计模式的总结

    这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...

  8. HTML快速入门2

    三.版面风格控制 1. 字体控制 A. 字体大小 用 <font Size=#> 和 </font> 表示,#为字号: 1 - 7 ,缺省为 3 ,可用 <basefon ...

  9. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

随机推荐

  1. StringUtils 工具类的常用方法(转载)

    http://guobin6125.iteye.com/blog/1535792

  2. IDEA破解教程

    IDEA目前堪称最完美的java开发工具,相信用惯了eclipse的朋友一定不这么认为,但是这并不是终点,终点是如何安装破解版的IDEA,官网给我们的两个下载:1.免费试用:2.免费.开源.作为一名程 ...

  3. Linux服务器中创建Oracle数据库实例

    紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...

  4. PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

    CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...

  5. jQuery AJAX方法 前台往后台传数据

    https://blog.csdn.net/dreamstar613/article/details/61912717 http://www.cnblogs.com/zhuxiaojie/p/4783 ...

  6. 4.express 框架

    express express 官网:http://expressjs.com/ 中文:http://www.expressjs.com.cn/ 库:jquery 一堆 的属性和方法 框架:expre ...

  7. Kafka的安装是否成功的简单测试命令

    首先了解一下kafka的基本概念 .1. BrokerKafka集群包含一个或多个服务器,这种服务器被称为broker2. Topic每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topi ...

  8. eclipse测试链接sql server2008 数据库

    注:在测试连接数据库之前必须保证SQL Server 2008是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则需要重新进行配置. 首先 使用命令行测试 ...

  9. C#常用加密方法

    using System; using System.IO; using System.Security.Cryptography; using System.Text; /// <summar ...

  10. ionic3.x版本开发问题记录---使用Image Resizer打包报错问题

    按照官方文档安装和使用,最后在打包的时候报错 /platforms/android/src/info/protonet/imageresizer/ImageResizer.java:12: error ...