这是代码.....
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
int number;
EdgeInsets globalMargin = const EdgeInsets.symmetric(horizontal: 20.0, vertical: 20.0);
TextStyle textStyle = const TextStyle(
fontSize: 100.0,
color: Colors.black,
);
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() …Run Code Online (Sandbox Code Playgroud) 我在一个小部件树中有一个 FloatingActionButton ,它有一个BlocProviderfrom flutter_bloc。像这样的东西:
BlocProvider(
builder: (context) {
SomeBloc someBloc = SomeBloc();
someBloc.dispatch(SomeEvent());
return someBloc;
},
child: Scaffold(
body: ...
floatingActionButton: FloatingActionButton(
onPressed: _openFilterSchedule,
child: Icon(Icons.filter_list),
),
)
);
Run Code Online (Sandbox Code Playgroud)
这将打开一个模态底部工作表:
void _openFilterSchedule() {
showModalBottomSheet<void>(
context: context,
builder: (BuildContext context) {
return TheBottomSheet();
},
);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试SomeBloc使用BlocProvider.of<SomeBloc>(context)inside访问,TheBottomSheet但出现以下错误:
BlocProvider.of() called with a context that does not contain a Bloc of type SomeBloc.
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用/sf/answers/3957352801/ 中描述的解决方案,但仅适用于BottomSheet而不适用于ModalBottomSheet。
注意:这不限于BlocProvider或 …
使用以下Switch小部件时,该isOn值始终返回true且永不更改。
该Switch只在刷卡移动位置太,自来水不会动它。如何解决?
bool isInstructionView = false;
Switch(
value: isInstructionView,
onChanged: (bool isOn) {
setState(() {
isInstructionView = isOn;
print(isInstructionView);
});
},
activeColor: Colors.blue,
inactiveTrackColor: Colors.grey,
inactiveThumbColor: Colors.grey,
)
Run Code Online (Sandbox Code Playgroud)
更新:为了更加清晰,onChanged始终返回isOn为true. 为什么会这样?