如何在单击颤振中的按钮时从 GridView 切换到列表视图?



我正在构建一个壁纸应用程序,并希望实现切换视图的功能,例如在 FLutter 中按下IconButton时从GridView切换到ListView

看起来像这样:

我能想到的实现此功能的唯一方法是通过将计数器挂接到crossAxisCount属性并通过单击IconButton的函数控制它来更改GridView.count()方法中的crossAxisCount值,这有效,但我必须在每次计数器增加或减少时热重载我的应用程序,

欢迎对此问题提出任何建议或修复。

您可以简单地使用三元运算符和setState()来实现您想要的。 首先,在widget build上方声明一个布尔值。然后,您可以使用三元运算符将其从网格视图更改为列表视图。

bool isGridView=true;
@override
Widget build(BuildContext context) {
Scaffold(
body: isGridView ? GridView.builder():ListView.builder(),
);
}

在你的onPressed((中,你可以调用setState()

setState(() {
isGridView=false;
});

相关内容

最新更新