我必须将值从类 a isBottomBarVisible 传递到类 b。如果 isBottomBarVisible true 则显示对齐顶部中心,否则在颤动中显示中心。 我必须将值从类 a isBottomBarVisible 传递到类 b。如果 isBottomBarVisible true 则显示对齐顶部中心,否则会在颤振中显示中心。
class ClassA extends StatelessWidget {
bool isBottomBarVisible = false;
@override
Widget build(BuildContext context) {
// Create an instance of ClassA
return Container(
// Your UI widgets here
);
void _showBottomSheet() {
setState(() {
isBottomSheetVisible = true;
});
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
return Container(
height: 200,
child: Center(
child: Text("This is a bottom sheet"),
),
);
},
).whenComplete(() {
setState(() {
isBottomSheetVisible = false;
});
});
}
}
}
另一个B类是 我必须将值从类 a isBottomBarVisible 传递到类 b。如果 isBottomBarVisible true 则显示对齐顶部中心,否则会在颤振中显示中心。
class ClassB extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
// Your UI widgets here
child: AnimatedContainer(
duration: Duration(milliseconds: 500),
alignment: isKeyboardVisible || isBottomSheetVisible // how to get value
? Alignment.topCenter
: Alignment.center,
);
}
}
我必须将值从类 a isBottomBarVisible 传递到类 b。如果 isBottomBarVisible true 则显示对齐顶部中心,否则会在颤振中显示中心。
如果两个类都在一个文件中,您可以使用全局变量来解决您的问题。如果没有,则使用参数构造函数或静态变量(MaterialPageRoute)