くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Flutter

Flutterでレスポンシブに対応する方法

Flutterで画面サイズに応じて、レイアウトを変える方法について、 いろいろ調べてみたときの備忘録(*´ω`*) 公式ドキュメントのこの辺りがベースになるっぽい。 Creating responsive and adaptive apps | Flutter Building adaptive apps | Flutter なので、…

Flutterでページ遷移をいい感じにする(animations/標準トランジション)

go_routerに再入門してみたけど、ページ遷移のアニメーションが微妙。。 Flutterのgo_routerに再入門する - くらげになりたい。 いろいろ見てみると、公式ドキュメントがよいライブラリを公開していたので、 試してみたときの備忘録。 animations | Flutter …

Flutterのgo_routerに再入門する

久々に見直してたら、@TypedGoRouteを使って、 パスパラメタとかも型を意識して呼び出せるようになってた。 go_router | Flutter Package Type-safe routes topic - Dart API go_router(今週のパッケージ) - YouTube いろいろ忘れているので、再度入門した…

FlutterでWebを含めてPlatformを判定する

Flutter WebでTargetPlatformを指定しようとしたら、 TargetPlatform.webがなかったので、 いろいろ調べたときの備忘録(*´ω`*) Webの場合は、kIsWebを使わないといけない TargetPlatform.webやPlatform.isWebは存在しないっぽい。 また、ブラウザでPlatform…

VSCodeでFlutterプロジェクトを新しく作るときにやること

今までAndroid StudioでFlutterしてたけど、 VSCodeでやってみたときの備忘録(*´ω`*) 新規プロジェクトを作成するときいつも忘れるのでまとめておく。 事前準備 flutterとfvmはインストール済みの想定。 flutter Install | Flutter fvm: flutterのバージョ…

Flutterのhooks_riverpod/flutter_hooksに再入門する

久々に見直してたら、@riverpodを使って簡潔にProviderが書けるようになっている。 Stateとかを書かなくて良くなったけど、いろいろ忘れているので、 再度入門したときの備忘録(*´ω`*) 参照した公式ドキュメントはこのあたり。 hooks_riverpod | Flutter Pa…

Flutterのバージョンアップ対応時にやったこと

Flutter 2.10.5 -> 3.7.1へのバージョンアップ時にやったことの備忘録。 ちなみに、fvmをつかってバージョン管理をしています。 書きかけのメモの放流なので、超雑記です。 やったこと fvmで3.7.1のインストール $ fvm install 3.7.1 $ fvm use 3.7.1 Basic …

Flutterでアプリのライフサイクルをhookする

Flutterでアプリのライフサイクルごとに処理をしたいなと思ったときの備忘録(*´ω`*) flutter_hooksにuseOnAppLifecycleStateChange()が用意されていた(*´ω`*) class App extends HookConsumerWidget { const App({Key? key}) : super(key: key); @override…

Flutter Version Management(FVM)でプロジェクトごとにバージョンを固定する

Flutterでもバージョン管理ツールがあったので試してみたときの備忘録(*´ω`*) fvm.app インストール $ brew tap leoafarias/fvm $ brew install fvm 設定 FVMは.fvm/flutter_sdkにファイルを配置するので、 .gitignoreに追加しておく $ echo ".fvm/flutter_…

Flutterで日付をフォーマットする(intl)

Flutterで日付をフォーマットしたいなと思ったら、 パッケージが必要だった...ので、いろいろ調べたときの備忘録。 intl | Dart Package インストール $ flutter pub add intl $ flutter pub get 使い方 import 'package:intl/intl.dart'; DateTime now = Da…

Flutterでパッケージ情報取得(package_info_plus)

Flutterでの開発メモ。 バージョンなどの情報はpackage_info_plusを使うと良いらしい。 ・package_info_plus | Flutter Package インストール $ flutter pub add package_info_plus $ flutter pub get 使い方 公式ドキュメントから引用。 import 'package:pa…

FlutterでSharedPreferences(shared_preferences)

Flutterの備忘録。SharedPreferencesを使いたいときは、 shared_preferencesを使うらしい。 ・ shared_preferences | Flutter Package インストール $ flutter pub add shared_preferences $ flutter pub get 使い方 // instanceの取得 final prefs = await …

FlutterでListViewのPull To Refreshをつかう

リストを引っ張って更新するPull To Refreshは、 ListView+RefreshIndicatorでできるっぽい。 @override Widget build(BuildContext context, WidgetRef ref) { return RefreshIndicator( onRefresh: () => _refresh(), child: ListView( children: <Widget>[ // ..</widget>…

Flutterのfreezedパッケージでimmutableなオブジェクトを楽に扱う

Flutterのfreezedパッケージを調べたときの備忘録。 freezedとは Dartでデータクラスのような機能を提供するパッケージ。 コンストラクタだけのシンプルなモデル定義 オブジェクトをクローンできるcopyWithメソッド union-types/pattern matching 自動的なse…

FlutterでQRコードを表示する(qr_flutter)

FlutterでQRコードを表示したいなと思ったときに、 いろいろ調べたときの備忘録。 qr_flutterというライブラリを使えばOK。 ・qr_flutter | Flutter Package インストール $ flutter pub add qr_flutter $ flutter pub get 使い方 使い方はシンプルでこんな…

Flutterで画面の向きを固定する

小ネタ。画面の向きを固定したいときは、 SystemChrome.setPreferredOrientations()を使えばOK。 import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; Future<void> main() async { // Flutter Engineの機能を使うので有効化 Widget</void>…

FlutterのAppBarをカスタマイズする

背景色を変える AppBarのbackgroundColorで指定。 class MyAppBar extends StatelessWidget implements PreferredSizeWidget { const MyAppBar({Key? key}) : super(key: key); @override Size get preferredSize => const Size.fromHeight(kToolbarHeight);…

Flutterでキーボードを表示時にオーバーフローするときの対処法

Flutterでキーボードを表示したときに、 BOTTOM OVERFLOWED BY 11 PIXELS と黒と黄色の背景で警告された。。 Scaffoldをつかっているとき、キーボードを表示すると、 自動的に高さを調整してくれるらしい。 ・resizeToAvoidBottomInset property - Scaffold …

FlutterのUI分割は、個別のWidgetクラスでするといいらしい

Flutterではbuild()のネストが深くなり、見づらくなる。 Widgetをどうやって分割するのがいいのか調べていたときの備忘録。 @_monoさんのツイートにあるとおり、 Widgetクラスを使うのが良さそう。 Widget分割をWidgetクラス・メソッドのどちらでするかの回…

Flutterを再開するときにやったこと。その2(登場人物とRiverpodを思い出す)

Flutter再開しようと思ったときにやったことのメモ。作業ログ的な備忘録。 インストールまでは終わったので、いろいろ思い出す。 とりあえず、過去に書いた記事を読み直す Flutterのタグをつけていた記事を見直す。 Flutter カテゴリーの記事一覧 - くらげに…

Flutterを再開するときにやったこと(再インストール)

Flutter再開しようと思ったときにやったことのメモ。 作業ログ的な備忘録。 再インストール ・macOS install | Flutter 1.9系から2.1系になってたので、再インストール 最新版をDownload zipを解凍 $ cd ~/.flutter_sdk $ unzip ~/Downloads/flutter_macos_2…

FlutterでカスタムフォントをTextウィジェットとThemeで利用する

Flutterでカスタムフォントを利用したいなと思ったので、その時調べた備忘録。 フォントファイルを配置するフォルダの作成 まずは、ディレクトリを作成する。 $ mkdir -p assets/fonts/ assets/fonts/に表示したいフォントファイルを配置しておく。 pubspec.…

FlutterでSVGを利用する(flutter_svg)

FlutterでSVGを利用したいなと思ったので、その時調べた備忘録。 flutter_svgパッケージを使うといいらしい。 画像ファイルを配置するフォルダの作成 まずは、ディレクトリを作成する。 $ mkdir -p assets/images/ assets/images/に表示したいsvgファイルを…

【Flutter】Riverpodを使って状態を管理する

Flutterの状態管理について悩んでいたけど、monoさんの記事を読んで、 Riverpodが良さそうだったので、試してみたときの備忘録。 登場人物 進化が早いのと積み重ねが多いので、登場人物が多い。 それぞれ、雑に説明。こんな感じ。 状態の保持 アプリの状態(=…

Flutterのコマンドメモ(upgrade/channel)

Flutterをはじめてみたので、忘れないように使ったコマンドをメモ。 アップグレードやチャネルの変更関係 # Flutterのアップグレード $ flutter upgrade # チャネルの確認 $ flutter channel # チャネルの変更 $ flutter channel beta # パッケージのアップ…

Flutterで画面遷移するときのいろいろ(Navigator / PageRouteBuilder)

FlutterでWebアプリを作ってみたときに調べたときの備忘録。 画面遷移まわりをまとめてみた。 複数画面をルーティングする Navigate with named routes - Flutter ルーティングは、こんな感じででAppに設定する。 void main() => runApp(MyApp()); class MyA…

Flutterで画面サイズや向きを取得する(MediaQuery/OrientationBuilder)

画面のサイズ(MediaQuery/Size) Flutterで画面サイズを取得するときは、MediaQueryを使うらしい。 Sizeを取得できるので、そこからいろいろする感じ。 @override Widget build(BuildContext context) { // 画面サイズの取得 final Size size = MediaQuery.of…

初めてFlutterでWebアプリをつくってみたときに思ったこと

はじめてFlutterをつかったみたときの備忘録というか所感。 Crieitの1週間でWebサービスをつくる企画 web1weekがあったので、 なかなかやる機会がなかったFlutterに手を付けてみた(´ω`) #web1week 間に合った...(*´ω`*)たし算ゲーム「たすたすたしざん」を…

Flutterに入門して疑問に思ったことと、そのとき調べたこと

前々から気になってたFlutter。 Flutter for Webが統合されたっぽいので、そろそろはじめたいなと(´ω`) www.publickey1.jp せっかくなので、 「なにを疑問に思って、なにを参照したか」 をまとめておこうと思ったので、整理してみた(´ω`) 疑問に思ったこと…

Flutterに入門する前に集めたリンク集

結構前からFlutterしたいなと思ってたけど、そろそろはじめれそうだったので、 今まで集めたリンクを整理してみた(´ω`) Twitterリンクも多いけど、気にせずリンク集にしてみた(´ω`) 公式ドキュメント Flutter Documentation - Flutter FlutterAppの基本 | …