「Flutter/UI/横縦並び・比率」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→縦方向に比率表示) |
(→上下左右中央) |
||
行137: | 行137: | ||
</pre> | </pre> | ||
https://qiita.com/sekitaka_1214/items/03255fd9f61685503af3 | https://qiita.com/sekitaka_1214/items/03255fd9f61685503af3 | ||
+ | |||
+ | ==上下左右中央でloading== | ||
+ | <pre> | ||
+ | return Center( | ||
+ | child: Column( | ||
+ | mainAxisSize: MainAxisSize.min, | ||
+ | children: <Widget>[ | ||
+ | Container( | ||
+ | margin: const EdgeInsets.only(top: 8.0), | ||
+ | width: 32.0, | ||
+ | height: 32.0, | ||
+ | child: const CircularProgressIndicator(), | ||
+ | ), | ||
+ | ], | ||
+ | ), | ||
+ | ); | ||
+ | </pre> |
2019年12月21日 (土) 01:23時点における版
横並び
Row(children: <Widget>[ Expanded(child: Container( padding: EdgeInsets.all(20.0), child: Text("1"), color: Colors.grey, ),), Expanded(child: Container( padding: EdgeInsets.all(20.0), child: Text("2"), color: Colors.red, ),), Expanded(child: Container( padding: EdgeInsets.all(20.0), child: Text("3"), color: Colors.green, ),), Expanded(child: Container( padding: EdgeInsets.all(20.0), child: Text("4"), color: Colors.blue, ),), ],),
上の20は高さ。
参考:https://nzigen.com/flutter-reference/2018-04-18-row-expanded.html
縦並び
Column( crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ Text('taro'), Text('jiro'), Text('saburo') ], ),
参考:https://dev.classmethod.jp/smartphone/flutter_column_row_1/
比率
横並びの比率をflexで入れる。
Row( children: [ Expanded( flex: 2, child: Container( color: Colors.blue, child: Text('taro'), ), ), Expanded( flex: 3, child: Container( color: Colors.green, child: Text('jiro'), ), ), Expanded( flex: 1, child: Container( color: Colors.orange, child: Text('saburo'), ), ), ], ),
参考:https://qiita.com/kalupas226/items/5aa41ca409730606000f
1つの部品と残りの部品の比率
Row( children: [ Flexible( flex: 1, child: Container( color: Colors.blue, child: Text('taro'), ), ), Flexible( flex: 10, child: Container( color: Colors.green, child: Text('jiro'), ), ), ], ),
縦方向に比率表示
これはエラーが出るみたい・・・。
Column( children: <Widget>[ Expanded( flex: 3, child: Container( color: Colors.green, ), ), Expanded( flex: 2, child: Container( color: Colors.red, ), ) ], ),
参考:https://note.com/norisato/n/n9ae6e24b52a7
左右中央
Center( child: Column( children: <Widget>[ Text("hogehoge"), ], ),
上下左右中央
Center( child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ Text("hogehoge"), ], ), ),
https://qiita.com/sekitaka_1214/items/03255fd9f61685503af3
上下左右中央でloading
return Center( child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ Container( margin: const EdgeInsets.only(top: 8.0), width: 32.0, height: 32.0, child: const CircularProgressIndicator(), ), ], ), );