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

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

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

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

Dart

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

Q&A

2回答

2206閲覧

ContainerのなかにWidgetを入れる方法

hachinohe

総合スコア0

Flutter

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

Dart

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

0グッド

0クリップ

投稿2021/10/10 13:03

前提・実現したいこと

もともとできていた、TODOリストのコードに背景を追加したところ、childが二つある状態になり、エラーが出ます。

発生している問題・エラーメッセージ

The argument for the named parameter 'child' was already specified.

おそらく、childが二つあることが原因のメッセージです。

該当のソースコード

flutterDart

1 @override 2 Widget build(BuildContext context) { 3 double _width = MediaQuery.of(context).size.width; 4 double _height = MediaQuery.of(context).size.height; 5 return Scaffold( 6 7 8 // AppBarを表示し、タイトルも設定 9 appBar: AppBar( 10 title: Text('リスト一覧'), 11 12 ), 13 body: Container( 14 height: _height, 15 width: _width, 16 decoration: BoxDecoration( 17 gradient: LinearGradient( 18 colors: [ 19 const Color(0xffe4a972).withOpacity(0.6), 20 const Color(0xff9941d8).withOpacity(0.6), 21 ], 22 begin: Alignment.topRight, 23 end: Alignment.bottomLeft, 24 ), 25 ), 26 27     //↓ここにエラー 28 child: ListView.builder( 29 itemCount: todoList.length, 30 itemBuilder: (context, index) { 31 return Card( 32 33 child: ListTile( 34 title: Text(todoList[index]), 35 ), 36 ); 37 }, 38 ), 39 40 //↓ここにエラー 41 child: FloatingActionButton( 42 onPressed: () async { 43 // "push"で新規画面に遷移 44 // リスト追加画面から渡される値を受け取る 45 final newListText = await Navigator.of(context).push( 46 MaterialPageRoute(builder: (context) { 47 // 遷移先の画面としてリスト追加画面を指定 48 return TodoAddPage(); 49 }), 50 ); 51 if (newListText != null) { 52 // キャンセルした場合は newListText が null となるので注意 53 setState(() { 54 // リスト追加 55 todoList.add(newListText); 56 }); 57 } 58 }, 59 child: Icon(Icons.add), 60 ), 61 ), 62 // データを元にListViewを作成 63 ); 64 } 65}

試したこと

childをchildenにかえました。
Container のなかにListview、floatingaction widgetを入れる方法と検索しましたが出てきませんでした。

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

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

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

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

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

guest

回答2

0

Containerchildにしか対応しておりません。
複数のWidgetを入れたい場合は、 ColumnRowを使いましょう。
(縦に並べるばあと横に並べる場合で使い分けてください。)

Container( // 省略 child: Column( children: <Widget>[ ListView.builder( // 省略 ), FloatingActionButton( // 省略 ), ], ), ),

あと基本的にFloatingActionButtonScaffoldfloatingActionButtonに指定するのがいい気がしますよ。

投稿2021/10/29 02:58

Yasha_Wedyue

総合スコア830

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

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

0

Wigdetを列挙している部分の記述を以下としてみてはいかがでしょう。

child: Row( children: <Widget>[ Widget1 widget2 ], ),

投稿2021/10/13 02:21

編集2021/10/13 02:22
YOshim

総合スコア1085

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問