class CategoryPager extends StatelessWidget {
@override
Widget build(BuildContext context) {
_getData();
return Scaffold(
appBar: AppBar(
title: Text('分類'),
),
// body: BodyContent1(),
body: BodyContent2(List()),
);
}
}
/// 適配器模式
class BodyContent2 extends StatelessWidget {
final List _data;
/// 模擬假數(shù)據(jù)
BodyContent2(this._data, {Key key}) : super(key: key) {
for (int i = 0; i < 15; i++) {
_data.add(i);
}
}
@override
Widget build(BuildContext context) {
return _getListView(context);
}
/// 帶分隔線
ListView _getListView(BuildContext context) {
List<Widget> items = _data.map((val) {
return _getItemWidght(val);
}).toList();
return ListView(
children: ListTile.divideTiles(
tiles: items, context: context, color: Colors.red)
.toList());
}
/// 不帶分隔線
ListView _getListView2() {
return ListView.builder(
itemCount: _data.length,
itemBuilder: (BuildContext context, int index) {
return _getItemWidght(index);
});
}
Widget _getItemWidght(int position) {
return InkWell(
onTap: () {
print('click---$position');
},
child: ListTile(
leading: Image.network(
'https://inews.gtimg.com/newsapp_ls/0/10876507398_294195/0'),
title: Text('庫(kù)克重申:中國(guó)制造不可替代:$position',
style: TextStyle(color: Colors.black, fontSize: 18)),
subtitle: Text(
'中國(guó)擁有全世界最高效的電子產(chǎn)品供應(yīng)鏈哮奇,而在美國(guó)本土生產(chǎn)iPhone担神,會(huì)讓它的成本飆升铲汪。',
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(color: Colors.black54, fontSize: 18),
),
));
}
}
class BodyContent1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
/// children: _getItems(),
children: _getItems2(),
);
}
/// 模擬接口返回的數(shù)據(jù)
List<Widget> _getItems2() {
List<int> items = List();
// 模擬接口返回的數(shù)據(jù)
for (int i = 0; i < 15; i++) {
items.add(i);
}
/// 通過(guò)list.map()方法轉(zhuǎn)換
return items.map((val) {
return _getItemWidght(val);
}).toList();
}
/// 造假數(shù)據(jù)
List<Widget> _getItems() {
List<Widget> items = List();
for (int i = 0; i < 15; i++) {
items.add(_getItemWidght(i));
}
return items;
}
Widget _getItemWidght(int position) {
return InkWell(
onTap: () {
print('click---$position');
},
child: ListTile(
leading: Image.network(
'https://i0.hdslb.com/bfs/archive/e9b41084b0afe9028d005cd847e124e579983cbd.png@1100w_484h_1c_100q.png'),
title: Text('我是標(biāo)題:$position',
style: TextStyle(color: Colors.black, fontSize: 20)),
subtitle: Text(
'全國(guó)最大愿吹!安徽發(fā)現(xiàn)明清釀酒作坊遺址,出土800件酒具麻將',
style: TextStyle(color: Colors.black38, fontSize: 20),
),
));
}
}
參考:flutter控件之---------listView
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者