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

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

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

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

Dart

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

Q&A

1回答

5647閲覧

flutter  ドロップダウンボタンの最初のvalueを選択できないようにする

otai0811

総合スコア17

Flutter

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

Dart

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

0グッド

0クリップ

投稿2020/09/22 02:18

flutterのドロップダウンボタンについて質問があります。
以下のコードはflutter.devのドロップダウンから引っ張ってきたコードなのですが、このドロップダウンの最初のアイテム(つまり選択前から表紙されているもの、この例で言えば「年齢を選択してください」のところを選択できないようにするにはどのようにしたらよいのでしょうか?
初歩的な質問で申し訳ありませんがご回答いただけると幸いです。

// Flutter code sample for DropdownButton // This sample shows a `DropdownButton` with a large arrow icon, // purple text style, and bold purple underline, whose value is one of "One", // "Two", "Free", or "Four". // // ![](https://flutter.github.io/assets-for-api-docs/assets/material/dropdown_button.png) import 'package:flutter/material.dart'; void main() => runApp(MyApp()); /// This Widget is the main application widget. class MyApp extends StatelessWidget { static const String _title = 'Flutter Code Sample'; @override Widget build(BuildContext context) { return MaterialApp( title: _title, home: Scaffold( appBar: AppBar(title: const Text(_title)), body: Center( child: MyStatefulWidget(), ), ), ); } } class MyStatefulWidget extends StatefulWidget { MyStatefulWidget({Key key}) : super(key: key); @override _MyStatefulWidgetState createState() => _MyStatefulWidgetState(); } class _MyStatefulWidgetState extends State<MyStatefulWidget> { String dropdownValue = '年齢を選択してください'; @override Widget build(BuildContext context) { return DropdownButton<String>( value: dropdownValue, icon: Icon(Icons.arrow_downward), iconSize: 24, elevation: 16, style: TextStyle(color: Colors.deepPurple), underline: Container( height: 2, color: Colors.deepPurpleAccent, ), onChanged: (String newValue) { setState(() { dropdownValue = newValue; }); }, items: <String>['年齢を選択してください', '19', '20', '21'] .map<DropdownMenuItem<String>>((String value) { return DropdownMenuItem<String>( value: value, child: Text(value), ); }).toList(), ); } }

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

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

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

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

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

guest

回答1

0

質問の通りの動きは、標準のDropdownButtonでは出来なさそうです。

以下のように修正すれば、最初にhintを示しつつ、選択肢からはhint文字列は無くなるため、狙いと近い動きになります。

Dart

1(以上略) 2class _MyStatefulWidgetState extends State<MyStatefulWidget> { 3 String dropdownValue; // 初期値はnullとする 4 5 6 Widget build(BuildContext context) { 7 return DropdownButton<String>( 8 hint: Text('年齢を選択してください'), // hintを記述する 9 value: dropdownValue, 10(中略) 11 items: <String>['19', '20', '21'] // itemsからhintは除く 12 .map<DropdownMenuItem<String>>((String value) { 13(以下略)

投稿2020/09/22 04:27

toast-uz

総合スコア3266

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問