Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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
Android 如何获取颤振中的TextField值_Android_Ios_Flutter - Fatal编程技术网

Android 如何获取颤振中的TextField值

Android 如何获取颤振中的TextField值,android,ios,flutter,Android,Ios,Flutter,嗨,我已经在颤振中创建了注册屏幕。我想在FlatButton的on按钮中获取电子邮件和密码 有人知道在弗利特怎么做吗 Widget SignupPage() { return new Scaffold(body: Container( height: MediaQuery.of(context).size.height, decoration: BoxDecoration( color: Colors.white, image:

嗨,我已经在颤振中创建了注册屏幕。我想在
FlatButton
on按钮中获取电子邮件和密码

有人知道在弗利特怎么做吗

  Widget SignupPage() {
    return new Scaffold(body: Container(
      height: MediaQuery.of(context).size.height,
      decoration: BoxDecoration(
        color: Colors.white,
        image: DecorationImage(
          colorFilter: new ColorFilter.mode(
              Colors.black.withOpacity(0.05), BlendMode.dstATop),
          image: AssetImage('assets/images/mountains.jpg'),
          fit: BoxFit.cover,
        ),
      ),
      child: new Column(
        children: <Widget>[
          Container(
            padding: EdgeInsets.all(100.0),
            child: Center(
              child: Icon(
                Icons.headset_mic,
                color: Colors.redAccent,
                size: 50.0,
              ),
            ),
          ),
          new Row(
            children: <Widget>[
              new Expanded(
                child: new Padding(
                  padding: const EdgeInsets.only(left: 40.0),
                  child: new Text(
                    "EMAIL",
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.redAccent,
                      fontSize: 15.0,
                    ),
                  ),
                ),
              ),
            ],
          ),
          new Container(
            width: MediaQuery.of(context).size.width,
            margin: const EdgeInsets.only(left: 40.0, right: 40.0, top: 10.0),
            alignment: Alignment.center,
            decoration: BoxDecoration(
              border: Border(
                bottom: BorderSide(
                    color: Colors.redAccent,
                    width: 0.5,
                    style: BorderStyle.solid),
              ),
            ),
            padding: const EdgeInsets.only(left: 0.0, right: 10.0),
            child: new Row(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.start,
              children: <Widget>[
                new Expanded(
                  child: TextField(
                    obscureText: true,
                    textAlign: TextAlign.left,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      hintText: 'PLEASE ENTER YOUR EMAIL',
                      hintStyle: TextStyle(color: Colors.grey),
                    ),
                  ),
                ),
              ],
            ),
          ),
          Divider(
            height: 24.0,
          ),
          new Row(
            children: <Widget>[
              new Expanded(
                child: new Padding(
                  padding: const EdgeInsets.only(left: 40.0),
                  child: new Text(
                    "PASSWORD",
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.redAccent,
                      fontSize: 15.0,
                    ),
                  ),
                ),
              ),
            ],
          ),
          new Container(
            width: MediaQuery.of(context).size.width,
            margin: const EdgeInsets.only(left: 40.0, right: 40.0, top: 10.0),
            alignment: Alignment.center,
            decoration: BoxDecoration(
              border: Border(
                bottom: BorderSide(
                    color: Colors.redAccent,
                    width: 0.5,
                    style: BorderStyle.solid),
              ),
            ),
            padding: const EdgeInsets.only(left: 0.0, right: 10.0),
            child: new Row(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.start,
              children: <Widget>[
                new Expanded(
                  child: TextField(
                    obscureText: true,
                    textAlign: TextAlign.left,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      hintText: '*********',
                      hintStyle: TextStyle(color: Colors.grey),
                    ),
                  ),
                ),
              ],
            ),
          ),
          Divider(
            height: 24.0,
          ),
          new Row(
            children: <Widget>[
              new Expanded(
                child: new Padding(
                  padding: const EdgeInsets.only(left: 40.0),
                  child: new Text(
                    "CONFIRM PASSWORD",
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.redAccent,
                      fontSize: 15.0,
                    ),
                  ),
                ),
              ),
            ],
          ),
          new Container(
            width: MediaQuery.of(context).size.width,
            margin: const EdgeInsets.only(left: 40.0, right: 40.0, top: 10.0),
            alignment: Alignment.center,
            decoration: BoxDecoration(
              border: Border(
                bottom: BorderSide(
                    color: Colors.redAccent,
                    width: 0.5,
                    style: BorderStyle.solid),
              ),
            ),
            padding: const EdgeInsets.only(left: 0.0, right: 10.0),
            child: new Row(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.start,
              children: <Widget>[
                new Expanded(
                  child: TextField(
                    obscureText: true,
                    textAlign: TextAlign.left,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      hintText: '*********',
                      hintStyle: TextStyle(color: Colors.grey),
                    ),
                  ),
                ),
              ],
            ),
          ),
          Divider(
            height: 24.0,
          ),
          new Row(
            mainAxisAlignment: MainAxisAlignment.end,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.only(right: 20.0),
                child: new FlatButton(
                  child: new Text(
                    "Already have an account?",
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.redAccent,
                      fontSize: 15.0,
                    ),
                    textAlign: TextAlign.end,
                  ),
                  onPressed: () => {},
                ),
              ),
            ],
          ),
          new Container(
            width: MediaQuery.of(context).size.width,
            margin: const EdgeInsets.only(left: 30.0, right: 30.0, top: 50.0),
            alignment: Alignment.center,
            child: new Row(
              children: <Widget>[
                new Expanded(
                  child: new FlatButton(
                    shape: new RoundedRectangleBorder(
                      borderRadius: new BorderRadius.circular(30.0),
                    ),
                    color: Colors.redAccent,
                    onPressed: () => authHandler.handleSignInEmail(emailController.text, passwordController.text)
                        .then((FirebaseUser user) {
                      Navigator.push(context, new MaterialPageRoute(builder: (context) => HomePage()));
                    }).catchError((e) => print(e)),
                    child: new Container(
                      padding: const EdgeInsets.symmetric(
                        vertical: 20.0,
                        horizontal: 20.0,
                      ),
                      child: new Row(
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: <Widget>[
                          new Expanded(
                            child: Text(
                              "SIGN UP",
                              textAlign: TextAlign.center,
                              style: TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.bold),
                            ),
                          ),
                        ],
                      ),
                    ),
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    ));
  }
Widget SignupPage(){
返回新脚手架(主体:容器)(
高度:MediaQuery.of(context).size.height,
装饰:盒子装饰(
颜色:颜色,白色,
图像:装饰图像(
colorFilter:新的colorFilter.mode(
颜色。黑色。不透明度(0.05),混合模式。DSTOP),
图像:AssetImage('assets/images/mountains.jpg'),
适合:BoxFit.cover,
),
),
子:新列(
儿童:[
容器(
填充:所有边缘设置(100.0),
儿童:中心(
子:图标(
图标。耳机和麦克风,
颜色:Colors.redAccent,
尺寸:50.0,
),
),
),
新行(
儿童:[
新扩展(
孩子:新的填充物(
填充:仅限常量边集(左:40.0),
儿童:新文本(
“电子邮件”,
样式:TextStyle(
fontWeight:fontWeight.bold,
颜色:Colors.redAccent,
字体大小:15.0,
),
),
),
),
],
),
新容器(
宽度:MediaQuery.of(context).size.width,
边距:仅限常量边集(左:40.0,右:40.0,顶:10.0),
对齐:对齐.center,
装饰:盒子装饰(
边界:边界(
底部:边界侧(
颜色:Colors.redAccent,
宽度:0.5,
样式:边框样式。实心),
),
),
填充:仅限常量边集(左:0.0,右:10.0),
孩子:新的一排(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
新扩展(
孩子:TextField(
蒙昧文字:对,
textAlign:textAlign.left,
装饰:输入装饰(
边框:InputBorder.none,
hintText:'请输入您的电子邮件',
hintStyle:TextStyle(颜色:Colors.grey),
),
),
),
],
),
),
分隔器(
身高:24.0,
),
新行(
儿童:[
新扩展(
孩子:新的填充物(
填充:仅限常量边集(左:40.0),
儿童:新文本(
“密码”,
样式:TextStyle(
fontWeight:fontWeight.bold,
颜色:Colors.redAccent,
字体大小:15.0,
),
),
),
),
],
),
新容器(
宽度:MediaQuery.of(context).size.width,
边距:仅限常量边集(左:40.0,右:40.0,顶:10.0),
对齐:对齐.center,
装饰:盒子装饰(
边界:边界(
底部:边界侧(
颜色:Colors.redAccent,
宽度:0.5,
样式:边框样式。实心),
),
),
填充:仅限常量边集(左:0.0,右:10.0),
孩子:新的一排(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
新扩展(
孩子:TextField(
蒙昧文字:对,
textAlign:textAlign.left,
装饰:输入装饰(
边框:InputBorder.none,
hintText:“**********”,
hintStyle:TextStyle(颜色:Colors.grey),
),
),
),
],
),
),
分隔器(
身高:24.0,
),
新行(
儿童:[
新扩展(
孩子:新的填充物(
填充:仅限常量边集(左:40.0),
儿童:新文本(
“确认密码”,
样式:TextStyle(
fontWeight:fontWeight.bold,
颜色:Colors.redAccent,
字体大小:15.0,
),
),
),
),
],
),
新容器(
宽度:MediaQuery.of(context).size.width,
边距:仅限常量边集(左:40.0,右:40.0,顶:10.0),
对齐:对齐.center,
装饰:盒子装饰(
边界:边界(
底部:边界侧(
颜色:Colors.redAccent,
宽度:0.5,
样式:边框样式。实心),
),
),
填充:仅限常量边集(左:0.0,右:10.0),
孩子:新的一排(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
新扩展(
孩子:TextField(
蒙昧文字:对,
textAlign:textAlign.left,
装饰:输入装饰(
边框:InputBorder.none,
辛特克斯
TextEditingController emailController = new TextEditingController();

....


TextField(
  controller: emailController,
  obscureText: true,
  textAlign: TextAlign.left,
  decoration: InputDecoration(
    border: InputBorder.none,
    hintText: 'PLEASE ENTER YOUR EMAIL',
    hintStyle: TextStyle(color: Colors.grey),
  ),
)
emailController.text
TextEditingController emailController = new TextEditingController(); .... TextField( controller: emailController, obscureText: true, textAlign: TextAlign.left, decoration: InputDecoration( border: InputBorder.none, hintText: 'PLEASE ENTER YOUR EMAIL', hintStyle: TextStyle(color: Colors.grey), ), ) emailController.text
TextEditingController yourControllerName = new TextEditingController();
TextField(
           controller: yourNameController,
           // your extra stuff
          )
Text(
     yourControllerName.text.toString(), // this will convert your controller to String
     )