如何在flutter中将布尔值从一个类传递到另一个类

问题描述 投票:0回答:1

我必须将值从类 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 则显示对齐顶部中心,否则会在颤振中显示中心。

flutter dart boolean
1个回答
0
投票

如果两个类都在一个文件中,您可以使用全局变量来解决您的问题。如果没有,则使用参数构造函数或静态变量(MaterialPageRoute)

© www.soinside.com 2019 - 2024. All rights reserved.