質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

1回答

4180閲覧

Flutter レイアウト 中央配置

uhsi

総合スコア57

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2020/05/26 09:37

画面全体には広がっていないColumnの中のウィジェットを画面の中央に配置する方法がわかりません。
以下の画像ではボタンをx座標について画面の中央にしたいです。
イメージ説明

Dart

1import 'package:flutter/material.dart'; 2 3void main() { 4 runApp(MyApp()); 5} 6 7class MyApp extends StatelessWidget { 8 bool show = true; 9 10 11 Widget build(BuildContext context) { 12 return MaterialApp( 13 home: Scaffold( 14 backgroundColor: Colors.white, 15 body: SafeArea( 16 child: SingleChildScrollView( 17 child: Content(show: show), 18 ), 19 ), 20 ), 21 ); 22 } 23} 24 25class Content extends StatelessWidget { 26 const Content({ 27 Key key, 28 this.show, 29 }) : super(key: key); 30 31 final bool show; 32 33 34 Widget build(BuildContext context) { 35 return Column( 36 children: <Widget>[MessageContainer()], 37 ); 38 } 39} 40 41class MessageContainer extends StatelessWidget { 42 const MessageContainer({ 43 Key key, 44 }) : super(key: key); 45 46 47 Widget build(BuildContext context) { 48 return Container( 49 height: 150, 50 child: Row( 51 children: [ 52 SizedBox(width: 10,), 53 Image( 54 width: 80, 55 height: 80, 56 image: NetworkImage( 57 "https://images.unsplash.com/photo-1590129617851-2eff07ed4d54?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=934&q=80"), 58 ), 59 SizedBox(width: 10,), 60 Expanded( 61 child: Column( 62 crossAxisAlignment: CrossAxisAlignment.start, 63 mainAxisAlignment: MainAxisAlignment.center, 64 children: <Widget>[ 65 Text("text1", 66 style: TextStyle( 67 fontSize: 16, 68 fontWeight: FontWeight.bold 69 ),), 70 Text("text2", 71 style: TextStyle( 72 fontSize: 14 73 ),), 74 Center( 75 child: RaisedButton( 76 child: Text("button"), 77 color: Colors.green, 78 onPressed: () {}, 79 ), 80 ) 81 ], 82 ), 83 ), 84 ], 85 ), 86 ); 87 } 88} 89

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

もっとスマートな方法があるかもしれませんが、
Paddingで左側と同じ幅を右側に指定すればよいかと。

Dart

1 Padding( 2 padding: EdgeInsets.only(right: 100), 3 child: Center( 4 child: RaisedButton( 5 child: Text("button"), 6 color: Colors.green, 7 onPressed: () {}, 8 ), 9 ), 10 ),

投稿2020/05/26 11:17

編集2020/05/26 11:40
satokei

総合スコア1204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uhsi

2020/05/26 11:30

画面のサイズによって変わってしまうのではないでしょうか。
satokei

2020/05/26 11:41

ずらすという表現が間違っていましたね。 右側にも左側と同じ幅をPaddingで指定するということです。
uhsi

2020/05/26 12:18

失礼しました。理解できました。
uhsi

2020/05/26 12:18

今回もご回答をいただきありがとございました。大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問