Flutter

Flutter(二十三)ListView

2019-07-18  本文已影响2人  天色将变
构造方法
属性
默认构造函数
image.png
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    List<String> list = <String>[];
    for (var i = 0; i < 150; i++) {
      list.add(i.toString());
    }
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView(
        scrollDirection: Axis.horizontal,// 滚动方向
        itemExtent: 30,// 指定子widget的高度(垂直时)或宽度(水平时)
        cacheExtent: 40,// 在超出边界指定值内,缓存item
        shrinkWrap: true,
        padding: EdgeInsets.all(10),
        children: list
            .map((item) => Text(
          item,
          style: TextStyle(fontSize: 16),
        ))
            .toList(),
        controller: ScrollController(initialScrollOffset: 120,keepScrollOffset: true),
        addSemanticIndexes: true,
        semanticChildCount: 10,
      ),
    );
  }
}
ListView.builder()
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    List<String> list = <String>[];
    for (var i = 0; i < 150; i++) {
      list.add(i.toString());
    }
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView.builder(
        scrollDirection: Axis.vertical,// 滚动方向
        itemExtent: 30,// 指定子widget的高度(垂直时)或宽度(水平时)
        cacheExtent: 40,// 在超出边界指定值内,缓存item
        shrinkWrap: true,
        padding: EdgeInsets.all(10),
        controller: ScrollController(initialScrollOffset: 120,keepScrollOffset: true),
        addSemanticIndexes: true,
        semanticChildCount: 10,
        itemCount: list.length,
        itemBuilder: (BuildContext context,int index){
          print(index.toString());
          return Text(list[index]);
        },
      ),
    );
  }
}
ListView.separated()
image.png
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    List<String> list = <String>[];
    for (var i = 0; i < 150; i++) {
      list.add(i.toString());
    }
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView.separated(
        scrollDirection: Axis.vertical,// 滚动方向
        cacheExtent: 40,// 在超出边界指定值内,缓存item
        shrinkWrap: true,
        padding: EdgeInsets.all(10),
        controller: ScrollController(initialScrollOffset: 120,keepScrollOffset: true),
        addSemanticIndexes: true,
        itemCount: list.length,
        itemBuilder: (BuildContext context,int index){
          print(index.toString());
          return Text(list[index]);
        },
        separatorBuilder: (BuildContext context,int index){
          return Divider(color: Colors.blue,);
        },
      ),
    );
  }
}
上一篇 下一篇

猜你喜欢

热点阅读