Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 向布局颤振添加特殊选项_User Interface_Dart_Flutter_Alignment - Fatal编程技术网

User interface 向布局颤振添加特殊选项

User interface 向布局颤振添加特殊选项,user-interface,dart,flutter,alignment,User Interface,Dart,Flutter,Alignment,我有以下代码: new Container( padding: new EdgeInsets.only( top: 20.0, ), alignment: FractionalOffset.centerRight, child: new GestureDetector( child: new Text('Forgot password?', style: new

我有以下代码:

new Container(
          padding: new EdgeInsets.only(
            top: 20.0,
          ),
          alignment: FractionalOffset.centerRight,
          child: new GestureDetector(
                child: new Text('Forgot password?', style: new TextStyle(color: Color(0xFF2E3233))),
              ),
        ),
        new Container(
          width: 300.0,
          height: 45.0,
          alignment: FractionalOffset.center,
          decoration: new BoxDecoration(
            color: const Color(0xFF2E3233),
            borderRadius: new BorderRadius.all(const Radius.circular(30.0)),
            ),
            child: new Text("Sign in",style: new TextStyle(color: Colors.white,fontWeight: FontWeight.bold,letterSpacing: 0.3,),),
        ),
        new Container(
          padding: new EdgeInsets.only(
            top: 20.0,
          ),
          alignment: FractionalOffset.center,
          child: new Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              new GestureDetector(
                child: new Text('Don\'t have an account?', style: new TextStyle(color: Color(0xFF2E3233))),
              ),
              new GestureDetector(
                child: new Text('Register.', style: new TextStyle(color: Color(0xFF84A2AF), fontWeight: FontWeight.bold),),
                onTap: moveToRegister,
              ),
            ],
          ),
        ),  
新容器(
填充:仅限新边设置(
排名:20.0,
),
对齐方式:分馏loffset.centerRight,
儿童:新的手势检测器(
子项:新文本('忘记密码?',样式:新文本样式(颜色:颜色(0xFF2E33233)),
),
),
新容器(
宽度:300.0,
身高:45.0,
对齐:分馏loffset.center,
装饰:新盒子装饰(
颜色:常量颜色(0xFF2E33233),
borderRadius:新的borderRadius.all(常数半径圆形(30.0)),
),
子项:新文本(“登录”,样式:新文本样式(颜色:颜色。白色,字体权重:字体权重。粗体,字母间距:0.3,),),
),
新容器(
填充:仅限新边设置(
排名:20.0,
),
对齐:分馏loffset.center,
孩子:新的一排(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
新手势检测器(
子项:新文本('没有帐户?',样式:新文本样式(颜色:颜色(0xFF2E33233)),
),
新手势检测器(
子项:新文本('寄存器'),样式:新文本样式(颜色:颜色(0xFF84A2AF),字体权重:字体权重.bold),
onTap:moveToRegister,
),
],
),
),  
这就是结果:

但我想做到这一点:

编辑: 构建方法:

@override
  Widget build(BuildContext context) {
    return new Stack(
      children: <Widget>[
        // The containers in the background
        new Column(
          children: <Widget>[
            new Container(
              height: MediaQuery.of(context).size.height * .44,
              color: const Color(0xFF84A2AF),
              padding: new EdgeInsets.only(
                top: 50.0,
              ),
              child: new Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  new Image.asset('assets/app_logo_transparent_bg.png',
                  height: 100.0,
                  width: 100.0,
                  ),
                ],
              ),
            ),
            new Container(
              height: MediaQuery.of(context).size.height * .56,
              color: Colors.white,
              child: new Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  new Align(
                    child: new Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: buildSubmitButtons(),
                    ),
                  ),
                ],
              )
              /*child: new Align(
                alignment: Alignment.bottomCenter,
                child: new Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: buildSubmitButtons(),
                ),
              ),*/
            ),
          ],
        ),
        // The card widget with top padding, 
        // incase if you wanted bottom padding to work, 
        // set the `alignment` of container to Alignment.bottomCenter
        new Container(
          alignment: Alignment.topCenter,
          padding: new EdgeInsets.only(
              top: MediaQuery.of(context).size.height * .33,
              right: 15.0,
              left: 15.0),
          child: new Container(
            height: 130.0,
            width: MediaQuery.of(context).size.width,
            child: new Card(
              color: Colors.white,
              elevation: 2.0,
              child: new Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: buildInputs(),
              ),
            ),
          ),
        )
      ],
    );
  }
@覆盖
小部件构建(构建上下文){
返回新堆栈(
儿童:[
//背景中的容器
新专栏(
儿童:[
新容器(
高度:MediaQuery.of(context).size.height*.44,
颜色:常量颜色(0xFF84A2AF),
填充:仅限新边设置(
排名:50.0,
),
子:新列(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
新建Image.asset('assets/app_logo_transparent_bg.png',
高度:100.0,
宽度:100.0,
),
],
),
),
新容器(
高度:MediaQuery.of(context).size.height*.56,
颜色:颜色,白色,
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
新对齐(
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
子项:buildSubmitButtons(),
),
),
],
)
/*子:新对齐(
对齐:对齐.bottomCenter,
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
子项:buildSubmitButtons(),
),
),*/
),
],
),
//带有顶部填充的卡片小部件,
//如果你想让垫底起作用,
//将容器的“alignment”设置为alignment.bottomCenter
新容器(
对齐:alignment.topCenter,
填充:仅限新边设置(
顶部:MediaQuery.of(context).size.height*.33,
右图:15.0,
左:15.0),
子容器:新容器(
身高:130.0,
宽度:MediaQuery.of(context).size.width,
孩子:新卡(
颜色:颜色,白色,
标高:2.0,
子:新列(
crossAxisAlignment:crossAxisAlignment.stretch,
子项:buildInputs(),
),
),
),
)
],
);
}

我试了这么多,但似乎没有任何帮助?如何将布局与底部对齐…

只需对容器(.56)进行一些更改,移除
align
小部件,拉伸
列,并在
列中添加一个
展开的
项,以填充可用空间

            new Container(
                            height: MediaQuery.of(context).size.height * .56,
                            color: Colors.white,
                            child: new Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              crossAxisAlignment: CrossAxisAlignment.stretch,
                              children: <Widget>[
                                Expanded(
                                  child: Container(),
                                ),
                                Padding(
                                  padding: const EdgeInsets.all(8.0),
                                  child: new Column(
                                    mainAxisAlignment: MainAxisAlignment.end,
                                    children: buildSubmitButtons(),
                                  ),
                                ),
                              ],
                            )
                            /*child: new Align(
                            alignment: Alignment.bottomCenter,
                            child: new Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: buildSubmitButtons(),
                            ),
                          ),*/
                            ),
新容器(
高度:MediaQuery.of(context).size.height*.56,
颜色:颜色,白色,
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
扩大(
子级:容器(),
),
填充物(
填充:常数边集全部(8.0),
子:新列(
mainAxisAlignment:mainAxisAlignment.end,
子项:buildSubmitButtons(),
),
),
],
)
/*子:新对齐(
对齐:对齐.bottomCenter,
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
子项:buildSubmitButtons(),
),
),*/
),

您可能需要将您的“忘记密码”移到列中展开的小部件上方。

请添加您的生成方法,以检查父级container@diegoveloper请参阅更新的Qestion。