我想讓ListTile在用戶從右向左水平拖動時顯示額外的圖示,就像截圖中的行為。
需要的輸出演示。
一個ListTile。
A Dragged ListTile 我的代碼: uj5u.com熱心網友回復: 你將需要flutter_slidable widget。
請看這里。https://pub.dev/packages/flutter_slidable 。然后按照說明操作即可。如果你想要視覺幫助,請看這里。Flutter Slidable 來自flutter可滑動部件的檔案 :
標籤: 下一篇:翩翩起舞主題未應用于新螢屏
return ListTile(
contentPadding: const EdgeInsets.all(5) 。
onTap: () {},
onLongPress: () {},
horizontalTitleGap: 10,
minVerticalPadding: 15,
領導。CircleAvatar(
半徑。34,
孩子。文本(
account['Name']!.substring(0, 1) 。
風格。const TextStyle(fontSize: 34, fontWeight: FontWeight.bold) 。
),
),
標題。文本(
account['Name']!。
風格。const TextStyle(fontSize: 16, fontWeight: FontWeight.bold) 。
),
副標題。FittedBox(
對齊。Alignment.centerLeft,
適合。BoxFit.scaleDown,
孩子。Text(account['Email']!)。
尾數。行(
mainAxisSize: MainAxisSize.min,
兒童。[
GestureDetector()
onTap: () {},
孩子。const Icon(
Icons.favorite_border,
),
),
GestureDetector(
onTap: () {},
孩子。const Icon(
Icons.edit,
),
),
GestureDetector(
onTap: () {},
孩子。const Icon(
Icons.delete,
),
),
],
),
);
Slidable(
actionPane: SlidableDrawerActionPane(),
actionExtentRatio: 0.25。
child: 容器()
color: Colors.white,
孩子。ListTile(
領導。CircleAvatar(
backgroundColor: Colors.indigoAccent,
孩子。Text('$3') 。
foregroundColor: Colors.white,
),
標題。Text('Tile n°$3')。
副標題。Text('SlidableDrawerDelegate')。
),
),
actions: <Widget>[
IconSlideAction(
caption: 'Archive'。
color: Colors.blue,
圖示。Icons.archive,
onTap: () => _showSnackBar('Archive') 。
),
IconSlideAction(
標題。'Share',
color: Colors.indigo,
圖示。Icons.share,
onTap: () => _showSnackBar('Share'),
),
],
secondaryActions: <Widget>[
IconSlideAction(
caption: 'More',
color: Colors.black45,
圖示。Icons.more_horiz,
onTap: () => _showSnackBar('More') 。
),
IconSlideAction(
標題。'Delete',
color: Colors.red,
圖示。Icons.delete,
onTap: () => _showSnackBar('Delete') 。
),
],
);
