GridView.builder我的网格中已经有,ElevatedButton当我按下按钮时,按钮单击事件显示所有网格图块:
如何仅在按下的按钮上显示此加载程序效果?
\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) 我有这张卡产品卡,使用 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)
我在 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 );\nRun Code Online (Sandbox Code Playgroud)\n我的主题更改屏幕
\nbool 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)