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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

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

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

Q&A

解決済

2回答

2257閲覧

『!』の真偽値【Flutter】

kazuki_user

総合スコア147

Flutter

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

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

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

0グッド

0クリップ

投稿2020/07/02 08:50

編集2020/07/03 02:00

追記:⓵に関する疑問点

・1つ目TabBarViewは、常にLinearProgressIndicator状態。
・2つ目TabBarViewは、2秒間LinearProgressIndicatorのち、コンテナが表示。
(⇒動作は正常。ただ、2つ目TabBarViewの過程が分からない。)


・1つ目...デフォルト(false)➡!dummyLoading(true)➡trueなので、"?"の選択肢。➡理解できる????

・2つ目...デフォルト(false)➡2秒間、dummyLoadingは「true」
➡!dummyLoading(false)【※ !true(=false)】
➡falseなので、":"の選択肢。➡あれ、"?"が選択されてる...➡なぜ..❔????

Flutter

1bool dummyLoading = false;                        //●デフォルトは、false

Flutter

1child: TabBar(      //●TabBar条件分岐 2 onTap: (newIndex) { 3 if (newIndex == 2) { 4 Future.delayed(Duration(seconds: 2), () { 5 setState(() { 6 dummyLoading = true; 7 }); 8 }); 9 } else { 10 dummyLoading = false; 11 }

Flutter

1            !dummyLoading   //⇒1つ目TabBarView       //●TabBarView 2 ? Center( 3 child: LinearProgressIndicator(), 4 ) 5 : Container( 6 color: Colors.yellow, 7 child: Center( 8 child: Text( 9 '????', 10 style: TextStyle(fontSize: 70), 11 )), 12 ), 13 !dummyLoading  //⇒2つ目TabBarView (以下、6つまで続く) 14 ? Center( 15 child: LinearProgressIndicator(), 16 ) 17 : Container( 18 color: Colors.yellow, 19 child: Center( 20 child: Text( 21 '????', 22 style: TextStyle(fontSize: 70), 23 )), 24 ),..............

現在TabBar及びTabBarViewを使っており、条件分岐で混乱しております????

2秒間のLinearProgressIndicatorのち、Container????が表示されるUIです。


質問は2点です。

⓵『!dummyLoading』は、trueなのか。【!】

Flutter

1bool dummyLoading = false;

先頭にを付けた!dummyLoadingは、trueなのでしょうか?

・以下、TabBarViewです。
イメージ説明

・以下、TabBarです。

イメージ説明


LinearProgressIndicatorのち、Container????が実行される過程での
true,falseで混乱しております????


⓶インデックスの一括選択

上記2枚目の画像のとおり、現在インデックスは、のみ指定しております。
効率的に一括選択できる方法はありますか?

もしくは、同じものを複数個つくる必要があるのでしょうか?(2のみ、3のみ、4のみ...)


お時間あるときにご返信いただければ、幸いです。????

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

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

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

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

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

tepci

2020/07/02 23:38

②について 一括選択というのはどういうことでしょう? そもそもif文を設けなければどのインデックスでも該当させることはできます。 インデックスごとで条件分けする場合は条件ごとに複数個作る必要があります。
kazuki_user

2020/07/02 23:43

ListView.separatedで、TabBar及びTabBarViewを6つ作ったのですが、 6つすべてにif文の条件を、コンパクトなコードで一括で反映させようと考えておりました。 ですが、if文を設けない方法もあるのですか? (if文を使用する事に こだわってはいません。)
guest

回答2

0

ベストアンサー

①先頭に!をつけると、boolは反転します。

!true // => false
!false // => true

②Switch文も使えます。break文が必要になりますが。

Dart

1Switch(newIndex) { 2 case 1: 3 // 処理1 4 break; 5 6 case 2: 7 // 処理2 8 break; 9 10 case 3: 11 // 処理3 12 break; 13 14 default: 15 // それ以外 16 break; 17}

どのインデックスでも処理が同じ場合はそもそもif文はいらない。

Dart

1onTap: (newIndex) { 2 // 処理 3}

投稿2020/07/02 23:57

tepci

総合スコア419

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

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

kazuki_user

2020/07/03 02:01 編集

ご返信ありがとうございます。 ⓵に関する疑問点を追記させて頂きました???? 認識の誤りがあれば教えて頂けると嬉しいです。 ⓶了解です。Switchも試してみます!
tepci

2020/07/03 02:19

ソースを見る限り、 2つ目のタブを押した2秒後にdummyLoadingがtrueになるというロジックにみえます。なので、最初の2秒間はfalseです。 また、newIndexが2ではないときにdummyLoading = falseとしていますが、setStateで囲っていないと反映されないです。 またまた、dummyLoading(ロード中)がfalse(いいえ)のときにローディングインジケーターを表示するというよくわからないことになっているのでビックリマークは外していいかと思います。 まだ気になる部分はありますが...
kazuki_user

2020/07/04 07:47 編集

ご返信ありがとうございました???? ベストアンサーとさせて頂きます。
guest

0

!は否定演算子と言って、boolean型の変数の前につけると意味が反転します。

投稿2020/07/02 15:42

swordone

総合スコア20651

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問