すらぼうの開発ノート

モバイルアプリエンジニアのメモ

flutter

【Flutter】providerで状態管理をする方法

本エントリではproviderを用いた状態管理を以下の流れで説明する。 状態管理とは providerとは 概要 使用方法 データの準備 データの共有 データの取得 サンプルアプリ 動作 コード 解説 フォルダ構成 ポイント Todoインスタンスの共有 Todoインスタンスの一…

【Flutter】fl_chartで円グラフを作成する方法

本エントリではfl_chartで円グラフを作成する方法を以下の流れで説明する。 fl_chartとは 概要 作成可能なグラフ 円グラフ作成方法 グラフ化するデータ 完成グラフ fl_chartのインストール 使用するクラス PieChart PieChartData PieChartSectionData コード…

【Flutter】Scrollcontrollerで現在の表示位置を取得する

本エントリではScrollControllerを使用して現在の表示位置を取得する方法を以下の流れで説明する。 ScrollControllerとは 現在位置の取得方法 ScrollControllerとは ListViewやGridViewなどのスクロール可能なウィジェットのスクロール処理を管理する。 api.…

【Flutter / Dart】httpパッケージの使用方法

本エントリではhttpパッケージの使用方法を以下の流れで説明する。 httpパッケージとは httpパッケージ使用方法 URLの作成 GET POST レスポンスのパース httpパッケージとは httpはHTTPリクエストを作成する際に使用するパッケージ。 公式リポジトリにも記載…

【Flutter / Dart】Singleton(シングルトン)パターンの実装例

本エントリではデザインパターンの一つであるSingletonパターンのFlutterにおける実装例を紹介する。 Singletonパターンとは 使用ケース 使用する際の注意 実装例 コード ポイント factoryキーワードをコンストラクタの前に記述する factoryキーワードについ…

【Flutter】sqfliteの使い方

SQLiteとは sqfliteとは shared_preferencesとの違い sqfliteを利用すべきケース shared_preferencesを利用するケース 使い方 インストール sqflite実装フロー データベースを開く・テーブルを作成する データベースを開く テーブルを作成する クエリを発行…

【Flutter】TextFormFieldパターン別デザイン設定方法

本エントリではパターン別にTextFormFieldのデザイン設定を説明する。 TextFormFieldとは パターン別デザイン デフォルト ヒント文字あり 枠線あり 背景色あり 選択時の枠線の色 ラベルテキストあり アイコンあり(テキストフォーム外) アイコンあり(テキ…

【Flutter】fl_chartで曲線・折れ線グラフを作成する方法

本エントリではfl_chartで曲線・折れ線グラフを作成する方法を以下の流れで説明する。 fl_chartとは 概要 作成可能なグラフ 曲線・折れ線グラフ作成方法 使用するクラス LineChart LineChartData LineChartBarData FlSpot FlDotData FlTitlesData AxisTitles…

【Flutter】ウィジェットを傾ける方法

本エントリではウィジェットを傾けて表示する方法を以下の流れで説明する。 ウィジェットを傾ける方法 Containerのtransformプロパティで傾ける Transform.rotate()で傾ける RotatedBoxで傾ける 3つの方法の違い ウィジェットを傾ける方法 傾いていることが…

【Flutter / Dart】Json形式のデータを読み込む方法

本エントリではJson形式のデータを読み込む方法を以下の流れで説明する。 Json形式データ読み込み方法 準備 取得データ 使用ライブラリ 読み込み方法 Json形式データ読み込み方法 準備 取得データ 以下のJsonデータを説明用に読み込む。 ちなみにこちらのデ…

【Flutter】shared_preferencesの使用方法

本エントリではshared_preferencesの使い方を説明する。 shared_preferencesとは shared_preferencesの使い方 準備 インストール インスタンスの作成 データ保存・読み取り キーについて int型(整数)のデータ 保存方法 読み取り方法 double型(実数、小数…

【Flutter】Text ウィジェットのスタイル設定方法まとめ

Textウィジェットのデザイン設定をパターン別にまとめる。 Textウィジェットのスタイル設定方法 Textウィジェットのスタイルパターン 色付き文字 背景色付き文字 任意サイズ文字 細字文字 太字文字 超太字文字 イタリック文字 上線付き文字 下線付き文字 色…

【Flutter】「DEBUG」バナーを消す方法、任意の文字のバナーを表示させる方法

Flutterアプリではデフォルトで右上に「DEBUG」と書かれたバナーが表示されている。 「DEBUG」バナー 本エントリでは以下の流れで「DEBUG」バナーを消す方法、また任意の文字のバナーを表示させる方法を説明する。 「DEBUG」バナーを消す方法 任意の文字のバ…

【Flutter】ウォークスルー画面を簡単に作成する方法

アプリ開発時、以下の様な機能を実装したいケースがある。 「アプリ起動後に表示するウォークスルー画面」 この機能はPageViewクラスとsmooth_page_indicatorで簡単に作成できる。 本エントリでは以下の流れでウォークスルー画面を簡単に作成する方法を説明…

【Flutter】showTimePickerメソッドの使用方法

アプリ作成時、以下の機能を作成したいケースがある。 ユーザーが時刻を入力するためのダイアログ・ポップアップ この様な場合、showTimePickerを用いると簡単に時刻入力用のダイアログが作成できる。 api.flutter.dev 本エントリでは以下の流れでshowTimePi…

【Flutter】AnimatedContainerの使用方法

アプリを開発していると以下の機能を実装したい時がある。 Containerのプロパティ変化をアニメーションで表示したい このような場合AnimatedContainerを用いると簡単にアニメーションが作成できる。 api.flutter.dev AnimatedContainer使用例 各プロパティ d…

【Flutter】AnimatedOpacityの使用方法

アプリを開発していると以下の機能を実装したい時がある。 ウィジェットをフェードインで表示したい ウィジェットをフェードアウトしたい このような場合AnimatedOpacityを用いると簡単にアニメーションが作成できる。 api.flutter.dev AnimatedOpacity使用…

【Flutter】AnimatedSizeの使用方法

アプリを開発していると以下の機能を実装したい時がある。 ウィジェットのサイズの変化をアニメーションで表現したい このような場合AnimatedSizeを用いると簡単にアニメーションが作成できる。 api.flutter.dev 本エントリでは以下の流れでAnimatedSizeを用…

【Flutter】AnimatedAlignの使用方法

アプリを開発していると以下の機能を実装したい時がある。 ウィジェットの位置を変化させた際に移動させるアニメーションを表示したい このような場合AnimatedAlignを用いると簡単にアニメーションが作成できる。 api.flutter.dev 本エントリでは以下の流れ…

【Flutter】AlertDialogの使用方法

アプリ開発をおこなっていると次のような機能を実装したいケースがある。 ユーザーに選択肢を表示したい データを削除するので注意を促したい このようなケースではAlertDialogを用いてダイアログ(ポップアップ)を簡単に作成できる。 本エントリでは以下の…

【Flutter】Autocompleteで検索フォームに候補キーワードを表示させる

アプリ開発時Google検索フォームのように、入力したキーワードを元に候補キーワードを表示させたいことがある。 Googleの検索フォーム このようなケースではAutocompleteを用いると、「候補キーワード一覧を表示する入力フォーム」を簡単に実装することがで…

【Flutter】ChoiceChipで選択式のボタンを作成する

ChoiceChipとは 概要 プロパティ 実装例 動作画像 ソースコード 解説 ChoiceChipとは 概要 ChoiceChipは以下の様な選択式のボタンを作成するためのウィジェット。 youtubeの選択式ボタン 公式のドキュメントは以下。 api.flutter.dev プロパティ ChoiceChip…

【Flutter】InputChipウィジェットの使用方法

Material Designのchipのページには以下のようなボタンデザインが紹介されている。 material design: chip このボタンを作成するためのFlutterのウィジェットはInputChipなのだが、デフォルトのままを使おうとすると、Material Designのページのボタンと微妙…

【Flutter】「ページを戻る機能」を無効化する方法

本エントリではデフォルトで実装される「ページを戻る機能」を無効化にする方法を説明する。 ページを戻る機能 ページを戻る機能を無効化する方法 「AppBarの左に表示される戻るボタン」を無効化する 「画面端から右スワイプスで戻る機能」を無効化する ペー…

【Flutter】ListTileでリストのアイテムを簡単に作成する

本エントリではListTileを用いて簡単にリストのアイテムを作成する方法を説明する。 ListTitleとは 使用頻度の高いプロパティ title subtitle leading trailing onTap よくあるリストのアイテム作成方法 ListTitleとは api.flutter.dev ListTileは高さが固定…

【Flutter / Dart】セット(Set)の生成方法まとめ

SetはIterableを継承したクラスで、複数の要素を格納できる重複なしのデータ型。 本エントリではSetの生成方法を説明する。 Setインスタンスの生成 リテラルで初期化 Set() Set.from() Set.identity() Set.of() Set.unmodifiable() Setインスタンスの生成 リ…

【Flutter / Dart】リスト(List)型データの操作まとめ

本エントリではList型データの操作(追加、削除、フィルター...)について説明する。 Listとは 説明用データ 追加 add() addAll() fillRange() insert() insertAll() 削除 clear() remove() removeAt() removeLast() removeRange() removeWhere() フィルター w…

【Flutter / Dart】リスト(List)の生成方法まとめ

本エントリではList型データの生成方法を説明する。 Listとは Listインスタンスの生成 リテラルを代入 List.empty() List.filled(要素数, 要素の値) List.from(他のIterable型データ) List.generate(要素数, 要素を生成するコールバック関数(引数: index)) L…

【Flutter / Dart】乱数の作成方法まとめ

Dartで乱数を作成する方法を説明する。 必要なライブラリ パターン別乱数生成方法 整数( 例. 0から100の間の整数 ) 少数 ( 例. 0.0から0.999...の間の少数 ) 自然数 ( 例. 1から100の間の整数 ) 任意の範囲の整数 ( 例. 50から60の間の整数 ) 任意の範囲の少…

【Flutter】Snackbarの使用方法まとめ

本エントリではSnackBarの使用方法について説明する。 SnackBarとは SnackBarの作成・表示方法 表示方法 デザインの変更 ボタンあり 表示時間の調整 背景色の変更 サイズの変更 角の丸さ調整 SnackBarとは api.flutter.dev SnackBarはアプリの画面下部に数秒…