使用了flutter一段時間,愈來愈喜歡flutter了,flutter比咱們想象中的強大。這篇文章介紹了怎麼使用flutter來展現一個很漂亮的list,先看下效果圖。git
樣式仍是很漂亮的,下面咱們一步一步完成這個小項目。github
assets:
- assets/images/
複製代碼
colors # 顏色
data # list的數據
# ...
複製代碼
Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
title: Text(
'flutter awesome list',
style: TextStyle(
color: Colors.white,
),
),
),
body: HomeBody(),
);
複製代碼
class MyClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
Path p = Path();
p.lineTo(size.width, 0.0);
p.lineTo(size.width, size.height / 4.75);
p.lineTo(0.0, size.height / 3.75);
p.close();
return p;
}
@override
bool shouldReclip(CustomClipper oldClipper) {
return true;
}
}
複製代碼
ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage(CONSTANT.userAvatar),
),
title: Text(
CONSTANT.userName,
style: CONSTANT.defaultTextStyle,
textScaleFactor: 1.5,
),
subtitle: Text(
CONSTANT.userProfile,
style: CONSTANT.defaultTextStyle,
),
)
複製代碼
Hero(
tag: index,
child: FadeInImage(
image: NetworkImage(data.image),
fit: BoxFit.cover,
placeholder: AssetImage('assets/images/loading.gif'),
),
)
複製代碼
最後就是詳情頁面的展現,這個頁面並無寫什麼樣式,展現了從列表頁跳轉過來時,圖片的過渡效果,有興趣的同窗能夠豐富下頁面的樣式和內容canvas