我有一个在 Flutter 中ListView显示 a 的东西List。我希望该元素移动到列表的末尾并将onTap()其显示在我的列表中?我怎么做?
代码:
List<String> list = ["A", "B", "C", "D", "E", "F"];
void main() {
return runApp(
MaterialApp(
title: 'Flutter New AppDemo',
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: ListView(children: [
listItem(list[1]),
divider,
listItem(list[2]),
divider,
listItem(list[3]),
divider,
listItem(list[4]),
divider,
listItem(list[5]),
divider,
listItem(list[0])
]),
),
),
),
);
}
Widget divider = Container(height: 1, color: Colors.black);
Widget listItem(String text) {
return Container(
height: 100,
padding: EdgeInsets.only(left: 16),
child: Align(
alignment: Alignment.centerLeft,
child: Text(text),
),
);
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以对代码进行一些修改来实现此目的:
将列表中元素的索引发送到 listItem 小部件,而不是字符串本身。将 listItem 小部件包装在可以记录 onTap 的手势检测器中。
Widget listItem(int index) {
return GestureDetector(
onTap: () {
final String first = list.removeAt(index);
list.add(first);
},
child: Container(
height: 100,
padding: EdgeInsets.only(left: 16),
child: Align(
alignment: Alignment.centerLeft,
child: Text(list[index]),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
onTap: () {
setState((){
final String first = list.removeAt(0);
list.add(first);
});
}
Run Code Online (Sandbox Code Playgroud)
它onTap可以是一个按钮,或者您可以使用它GestureDetector代替
| 归档时间: |
|
| 查看次数: |
12973 次 |
| 最近记录: |