如何在 flutter 中单击按钮从 GridView 切换到 ListView?

Odd*_*ost 1 dart flutter

我正在构建一个壁纸应用程序,想要实现切换视图的功能,例如在 FLutter 中按一下切换到GridViewListViewIconButton

看起来像这样:

我能想到实现此功能的唯一方法是通过将计数器连接到属性并通过单击的函数来控制它来更改方法crossAxisCount中的值,这可以工作,但每次我都必须热重新加载我的应用程序计数器递增或递减,GridView.count()crossAxisCountIconButton

欢迎对此问题提出任何建议或解决方案。

Uni*_*Uni 7

您可以简单地使用三元运算符 andsetState()来实现您想要的。首先,在您的widget build. 然后你可以使用三元运算符将其从gridview更改为listview。

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

在 onPressed() 中,您可以调用setState()

setState(() {
  isGridView=false;
});
Run Code Online (Sandbox Code Playgroud)