flutter图文列表,可以直接粘贴到编辑器中测试: import 'package:flutter/material.dart'; class FocusList extends StatelessWidget { const FocusList({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return ListView( padding: const EdgeInsets.all(10), children: <Widget>[ Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 40, height: 40, margin: EdgeInsets.only(top: 0), decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(40), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')))), Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( margin: const EdgeInsets.only(left: 10), child: const Text("张廷玉", style: TextStyle(fontSize: 18, color: Colors.black)), ), Container( margin: const EdgeInsets.only(top: 5, left: 10), child: const Text("15分钟前", style: TextStyle(fontSize: 14, color: Colors.black)), ), ], ), ], ), Container( margin: const EdgeInsets.only(top: 5, left: 0), child: const Text("有网友询问反射给final修饰的字段设值,为啥设值会失败,之前也深入学习一下反射。", style: TextStyle(fontSize: 14, color: Colors.black)), ), Padding( padding: const EdgeInsets.fromLTRB(5, 10, 5, 5), child: Container( alignment: Alignment.centerLeft, // width: 300, height: 160, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5), image: const DecorationImage( image: NetworkImage( 'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'), fit: BoxFit.cover), ), ), ), Padding( padding: const EdgeInsets.fromLTRB(5, 0, 5, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), Text("160", style: TextStyle(fontSize: 14, color: Colors.black)), ], ), Row( children: const [ Icon(Icons.add), ], ), ], ), ), ], ), ], ); } }