web-dev-qa-db-ja.com

Flutterでボタンのマージンを設定する方法

Flutterでフォームを作成しています。ボタンの上マージンを設定できません。

class _MyHomePageState extends State<MyHomePage> {

String firstname; 
String lastname;
final scaffoldKey = new GlobalKey<ScaffoldState>();
final formKey = new GlobalKey<FormState>();


    @override
  Widget build(BuildContext context) {
    return new Scaffold(
      key: scaffoldKey,
      appBar: new AppBar(
        title: new Text('Validating forms'),
      ),
      body: new Padding(
        padding: const EdgeInsets.all(16.0),
        child: new Form(
          key: formKey,
          child: new Column(
            children: [
              new TextFormField(
                decoration: new InputDecoration(labelText: 'First Name'),
                validator: (val) =>
                    val.length == 0 ?"Enter FirstName" : null,
                onSaved: (val) => firstname = val,
              ),
              new TextFormField(
                decoration: new InputDecoration(labelText: 'Password'),
                validator: (val) =>
                    val.length ==0 ? 'Enter LastName' : null,
                onSaved: (val) => lastname = val,
                obscureText: true,
              ),
              new RaisedButton(
                onPressed: _submit,
                child: new Text('Login'),
              ),
            ],
          ),
        ),
      ),
    );
  }
14
Raja Jawahar

ボタンを コンテナ の中に入れ、マージンを設定します

new Container(
    margin: const EdgeInsets.only(top: 10.0),
    child : new RaisedButton(
                onPressed: _submit,
                child: new Text('Login'),
              ),
44
Raouf Rahiche

または、ボタンをパディングでラップすることもできます。 (それがコンテナが内部で行うことです。)

  Padding(
    padding: const EdgeInsets.all(20),
    child: new RaisedButton(
      onPressed: _submit,
      child: new Text('Login'),
    ),
  );

ウィジェットにマージンを追加する方法の詳細については この回答 を参照してください。

17
Suragch