Flutter基础篇之三-创建一个列表ListView

1.pubspec.yaml文件里添加 english_words: ^3.1.5依赖

image.png

2.main.dart文件里添加ListView
IDE敲stful,出现创建模板,给class取名字
image.png

在build方法的return 方法里创建ListView

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: RandomWords(),
    );
  }
}

class RandomWords extends StatefulWidget {
  @override
  _RandomWordsState createState() => _RandomWordsState();
}

class _RandomWordsState extends State<RandomWords> {
  final _suggestions = <WordPair>[];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('ListView'),
      ),
      body: _buildSuggestions(),
    );
  }

  Widget _buildSuggestions() {
    return ListView.builder( //创建ListView
        padding: EdgeInsets.all(16),
        itemBuilder: (contentx, i) {
          if (i.isOdd) return Divider(); // 间隔线

          final index = i ~/ 2;
          if (index >= _suggestions.length) {// 获取新的20个数据
            _suggestions.addAll(generateWordPairs().take(20));
          }
          return _buildRow(_suggestions[index]);
        });
  }
// iOS里的每个cell
  Widget _buildRow(WordPair pair) {
    return ListTile(
      title: Text(
        pair.asPascalCase,
      ),
      trailing: Icon(
         Icons.favorite_border,
      ),
      onTap: () {
        print('tap ListView Row');
      },
    );
  }

}

详情请见demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容