両方のボタンを横に並べて表示したいと思います。これまでのところ、上から下までしか表示できません。
次のコードでは、何を変更する必要がありますか?
new Container(
child: new Column(
children: <Widget>[
new RaisedButton(
child: new Text("LogIn"),
color: Colors.blueAccent[600],
onPressed: null,
),
new RaisedButton(
child: new Text("SignUp"),
color: Colors.blueAccent[600],
onPressed: null,
),
],
),
),
Column
は垂直に配置されたアイテム(列)であり、Row
を探しています。 Column
をRow
に置き換えるだけで、残りのコードは問題ありません。利用可能なスペースをすべて埋めたい場合は、Expanded
を使用することもできます。
テキストが含まれる列があり、そのテキストの下に2つのボタンが隣接するようにする場合は、ButtonTheme.barを使用できます。
以下は、Flutterの開始コードの一部です。それをスターターに接続して、動作を確認できます。
2番目の新しいテキスト($ counterが含まれるテキスト)の後に貼り付けます
new ButtonTheme.bar(
child: new ButtonBar(
alignment: MainAxisAlignment.center,
children: <Widget>[
new RaisedButton(
onPressed: _incrementCounter,
child: new Icon(Icons.add),
color: Colors.green,
),
new RaisedButton(
onPressed: _decrementCounter,
child: new Icon(Icons.remove),
color: Colors.red,
),
],
),
),
Wrap(
children: <Widget>[
RaisedButton(
...
),
RaisedButton(
...
),
RaisedButton(
...
),
],
),
このようなことをしてください
new Column(children: <Widget>[
new Button(
...
...
),
new Button(
...
...
)
])
コード内の列をその行に置き換えるだけで動作します。ここでいくつかの追加のものを追加したいのですが、列が行内にラップされていると仮定すると、ボタンを並べて表示するにはどうすればよいですか?
単純に次のように列を行n行、列に変更します。
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
child: ...
),
child: ..
),
child: ..
)
],
),