首页 文章

如何在Flutter中创建数字输入字段?

提问于
浏览
13

我无法找到一种方法在Flutter中创建一个可以打开数字键盘的输入字段 . 这是可能的颤振材料部件?一些github讨论似乎表明这是一个受支持的功能,但我无法找到任何有关它的文档 .

3 回答

  • 22

    您可以使用以下内容为TextField指定数字keyboardType

    keyboardType: TextInputType.number
    

    检查我的main.dart文件

    import 'package:flutter/material.dart';
    
    void main() => runApp(new MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        // TODO: implement build
        return new MaterialApp(
          home: new HomePage(),
          theme: new ThemeData(primarySwatch: Colors.blue),
        );
      }
    }
    
    class HomePage extends StatefulWidget {
      @override
      State<StatefulWidget> createState() {
        return new HomePageState();
      }
    }
    
    class HomePageState extends State<HomePage> {
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          backgroundColor: Colors.white,
          body: new Container(
              padding: const EdgeInsets.all(40.0),
              child: new Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              new TextField(
                decoration: new InputDecoration(labelText: "Enter your number"),
                keyboardType: TextInputType.number,
              ),
            ],
          )),
        );
      }
    }
    

    enter image description here

  • 3

    将键盘和验证

    String numberValidator(String value) {
      if(value == null) {
        return null;
      }
      final num = num.parse(value, onError: () => null);
      if(num == null) {
        return '"$value" is not a valid number';
      }
      return null;
    }
    
    new TextFormField(
        keyboardType: TextInputType.number, 
        validator: numberValidator, 
        textAlign: TextAlign.right
        ...
    
  • 2

    您可以使用keyboardType参数轻松更改输入类型,并且您有很多可能性检查文档TextInputType,以便您可以使用数字或电话值

    new TextField(keyboardType: TextInputType.number)
    

相关问题