首页 > 解决方案 > 如何在颤动中独立于其他小部件定位小部件?

问题描述

我试图使用 Column 在单页中拥有 3 个小部件,但由于某种原因,对齐不起作用......

@override
  Widget build(BuildContext context) {

    return Container(
      height: double.infinity,
      child: SwipeDetector(
        onSwipeUp: () {
          Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => CreditScreen()));
        },

        onSwipeDown: () {
          Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => ManualScreen()));
        },
        
        child: Scaffold(
          backgroundColor: DarkBlue,
          resizeToAvoidBottomInset: false,
          body: new Container(
            height: double.infinity,
            alignment: Alignment.center,
            child: Column(
              //mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                new Align(
                  alignment: Alignment.topCenter,
                  child: Image.asset('assets/swipe_down.gif',
                    scale: 5,
                  ),
                ),

                new Align(
                  alignment: Alignment.center,
                  child: Text("Menu Screen",
                    style: TextStyle(
                      color: Colors.white,
                      fontSize: 30.0,
                      fontWeight: FontWeight.bold,
                    ),
                    //textAlign: TextAlign.center,
                  ),
                ),

                new Align(
                  alignment: Alignment.bottomCenter,
                  child: Image.asset('assets/swipe_up.gif',
                    scale: 5,
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

在此处输入图像描述

根据上图,我希望在底部向上滑动小部件并在顶部向下滑动,而文本在中心,我尝试了许多小部件的包装,但似乎没有任何效果......任何帮助......

标签: flutterwidgetposition

解决方案


尝试这个:

Column(
              //mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Image.asset('assets/swipe_down.gif',
                    scale: 5,
                  ),

               Expanded(
                  child: Text("Menu Screen",
                    style: TextStyle(
                      color: Colors.white,
                      fontSize: 30.0,
                      fontWeight: FontWeight.bold,
                    ),
                    //textAlign: TextAlign.center,
                  ),
                ),

                Image.asset('assets/swipe_up.gif',
                    scale: 5,
                  ),
                
              ],
            ),

推荐阅读