小编st4*_*tic的帖子

Flutter:未来构建器通过索引获取 Widget

GridView.builder我的网格中已经有,ElevatedButton当我按下按钮时,按钮单击事件显示所有网格图块:

\n

如何仅在按下的按钮上显示此加载程序效果?

\n

图像

\n

我的代码:

\n
 void _onSubmit() {\n    if (Constants.USER_TOKEN != null && Constants.USER_TOKEN != \'\') {\n      print(\'NO\');\n    } else {\n      showDialog<void>(\n        context: context,\n        builder: (BuildContext dialogContext) {\n          return SimpleDialog(\n            shape: RoundedRectangleBorder(\n                borderRadius: BorderRadius.circular(18.0)),\n            title: Text(\n              \'\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb9\xd0\xb4\xd0\xb8\xd1\x82\xd0\xb5 \xd1\x80\xd0\xb5\xd0\xb3\xd0\xb8\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8e, \xd1\x87\xd1\x82\xd0\xbe\xd0\xb1\xd1\x8b \xd0\xb4\xd0\xbe\xd0\xb1\xd0\xb0\xd0\xb2\xd0\xbb\xd1\x8f\xd1\x82\xd1\x8c \xd0\xb2 \xd0\xba\xd0\xbe\xd1\x80\xd0\xb7\xd0\xb8\xd0\xbd\xd1\x83\',\n              textAlign: TextAlign.center,\n            ),\n            children: <Widget>[\n              TextButton(\n                child: Text(\'\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb9\xd1\x82\xd0\xb8 \xd1\x80\xd0\xb5\xd0\xb3\xd0\xb8\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8e\'),\n                onPressed: () {\n                  Navigator.of(dialogContext).pop(); // Dismiss alert dialog\n                  Navigator.of(context).pushAndRemoveUntil(\n                      MaterialPageRoute(\n                          builder: (context) => MainScreen(currentIndex: 3)),\n                      (route) => false);\n                },\n                style: ButtonStyle(alignment: Alignment.center),\n              ),\n            ],\n …
Run Code Online (Sandbox Code Playgroud)

dart flutter

1
推荐指数
1
解决办法
278
查看次数

flutter如何制作骨架加载器

我有这张卡产品卡,使用 FutureBuilder 从 api 获取它,当我的卡加载时,我不仅想显示骨架加载器CircularProgressIndicator ,我怎样才能制作它。

我的未来建设者:

FutureBuilder<List<Product>>(
               future: productFuture,
               builder: (context, snapshot) {
                 if (snapshot.connectionState == ConnectionState.waiting) {
                   return Center(child: CircularProgressIndicator());
                 } else if (snapshot.hasData) {
                   final catalog = snapshot.data;
                   return buildCatalog(catalog!);
                 } else {
                   return Text("No widget to build");
                 }
               }),
Run Code Online (Sandbox Code Playgroud)

这是骨架加载器的示例

dart flutter

0
推荐指数
1
解决办法
4186
查看次数

Flutter如何使用BLoC更改主题并设置系统主题

我在 main.dart 中使用 Flutter bloc 来检查用户身份验证。现在我的应用程序中没有主题选择,它是根据设备上的主题以编程方式选择的。我希望我的 AuthBloc 检查并设置用户在应用程序启动时设置的主题。我有一个主题选择页面,用户可以在其中选择一个主题,默认情况下应该是系统主题,您也可以选择浅色和深色。\n我如何在我的 AuthBloc 中实现此功能?\n我的 main.dart

\n
 return BlocProvider(\n          create: (context) => AuthBloc(authRepo: AuthRepo()),\n          child: BlocBuilder<AuthBloc, AuthState>(\n              builder: (context, state) {\n                print(state);\n                return MaterialApp(\n                navigatorKey: navKey,\n                title: 'YiwuMart',\n                debugShowCheckedModeBanner: false,\n                theme: lightTheme,\n                darkTheme: darkTheme,\n                home: MainScreen(\n                  key: scakey,\n                ),\n              );\n            },\n          ),\n        );\n
Run Code Online (Sandbox Code Playgroud)\n

我的主题更改屏幕

\n
bool isSystemTheme = true;\n  bool isLightTheme = false;\n  bool isDarkTheme = false;\n\n  Row _buildThemeRow(String themeName, bool isSelected) {\n    return Row(\n      mainAxisAlignment: MainAxisAlignment.start,\n      children: [\n        SizedBox(width: 5.h),\n        Text(themeName, style: TextStyles.bodyStyle),\n …
Run Code Online (Sandbox Code Playgroud)

dart flutter bloc flutter-bloc

0
推荐指数
1
解决办法
1678
查看次数

标签 统计

dart ×3

flutter ×3

bloc ×1

flutter-bloc ×1