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

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

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

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

Dart

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

Q&A

解決済

1回答

154閲覧

flutterでラジオボタンを横並びにしたい

galulu

総合スコア1

Flutter

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

Dart

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

0グッド

0クリップ

投稿2024/04/29 16:19

実現したいこと

flutterでラジオボタンを横並びにしたい

前提

flutterでwebアプリのUIを作っています。
ラジオボタンやチェックボックスを横並びにしたいのですが、ネット上の下記のようなコードを参考にしていますが、
ラジオボタンやチェックボックスを増やし、ウィンドウサイズを小さくしていくとはみ出してしまいますが良い解決方法を
導き出せていません。

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

画面サイズを小さくすることで、ラジオボタンやチェックボックスのテキストを折り返し表示するか、ウィンドウサイズが大きく時は横並びに、小さくしていくと画面サイズに合わせてチェックボックスごと折り返し表示したいと考えています。
flutterに知見のある方、ご教授お願い致します。

該当のソースコード

Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Row(
children: [
Radio(
value: 0,
groupValue: 0,
onChanged: (value) {},
),
Text('アイテム1')
],
),
Row(
children: [
Radio(
value: 1,
groupValue: 0,
onChanged: (value) {},
),
Text('アイテム2')
],
),
Row(
children: [
Radio(
value: 2,
groupValue: 0,
onChanged: (value) {},
),
Text('アイテム3')
],
),
],
),

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

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

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

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

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

guest

回答1

0

ベストアンサー

Wrapを使ってみてください。
https://api.flutter.dev/flutter/widgets/Wrap-class.html

この場合の折り返しは、ウィジェット、テキスト文字列の順で行われます。
下の例は、チェックボックス+テキスト文字列をペアにして折り返しができるようにしてみました。

dart

1Wrap( 2 children: [ 3 Wrap( 4 crossAxisAlignment: WrapCrossAlignment.center, 5 children: [ 6 Radio( 7 value: 0, 8 groupValue: 0, 9 onChanged: (value) {}, 10 ), 11 const Text('アイテム1 aldjkalsdjlfkasjdflka'), 12 ], 13 ), 14 Wrap( 15 crossAxisAlignment: WrapCrossAlignment.center, 16 children: [ 17 Radio( 18 value: 1, 19 groupValue: 0, 20 onChanged: (value) {}, 21 ), 22 const Text('アイテム2 aldjkalsdjlfkasjdflka'), 23 ], 24 ), 25 Wrap( 26 crossAxisAlignment: WrapCrossAlignment.center, 27 children: [ 28 Radio( 29 value: 2, 30 groupValue: 0, 31 onChanged: (value) {}, 32 ), 33 const Text('アイテム3 aldjkalsdjlfkasjdflka'), 34 ], 35 ), 36 ], 37 )

テキストの折り返しを先にして、その次にウィジェットというのは、現状難しいのかな。
テキストをFractionallySizedBoxでラッピングすることで親のサイズに依存したサイズ調整はできるけど、設定値とか構成を考えるのが難しそう。

確認はWindows-desktopで行ってます。

投稿2024/04/30 02:03

ta.fu

総合スコア1683

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

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

galulu

2024/04/30 03:55

コード修正し解決しました! チェックボックス+テキスト文字列をペアにしての折り返しが理想だったので大変助かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問