Kenji AbeSafe ArgsでCustom NavTypeを使うComposeでもSafe Args対応が可能になりましたが、Custom NavTypeを使って独自の型の引数を渡す方法について説明します。Oct 20Oct 20
Kenji AbeTextFieldStateの使い方TextFieldValueに代わる新しい TextFieldStateの使い方について解説します。 TextFieldStateは新しい BasicTextField(以前は BasicTextField2と呼ばれていたものです。…Sep 23Sep 23
Kenji AbeKotlin data classのprivateコンストラクタとcopyメソッドKotlinのdata classはコンストラクタをprivateにしたとしても、copyメソッドはprivateにならずに使用可能でした。そのため問題が起きることがありました。2.0.20からはこの問題に対応することができます。Aug 31Aug 31
Kenji AbeNavigation ComposeのSafe Argsで現在の画面を判定する方法とpopBackStackの対応方法2.8.0-alpha08 でNavigation ComposeがSafe Argsに対応しました。これまでは文字列でRouteを扱っていましたが、Safe Argsではobjectやdata classで扱うことになります。…Jul 16Jul 16
Kenji AbeAndroid Studioを使わずにSVGからVector Drawableに変換するAndroidでSVGを扱えますが、SVGファイルを扱うにはVector Drawableにする必要があります。基本的にはAndroid Studioを使うのが一番手っ取り早いですが、Android Studioが無くても変換する方法がないかを調べました。Jun 22Jun 22
Kenji AbeAndroidのデバッグメニューAndroidアプリで開発中などにユーザーやアプリの状態を簡単に変更できるようにするため、デバッグメニューを作ることがあると思います。このデバッグメニューは色んな実装方法がありますが、ぼくのやり方について簡単に紹介しておきます。Jun 2Jun 2
Kenji AbeKotlin Serializationのポリモーフィズム例えば、 type というキーの値によってデータ構造が違うようなJSONをエンコード、デコードしたい場合があります。このようなJSONを扱う場合の実装を紹介します。Apr 29Apr 29
Kenji AbeKotlin 2.0のSmart cast改善Kotlin 2.0ではSmart castが賢くなっているので、簡単に紹介します。2.0未満ではSmart castが効いてない部分も2.0からは効くようになってたりしています。Apr 14Apr 14
Kenji AbeComposeのwrapContentSizeComposeの wrapContentSize について解説します。そこまで頻繁に使うことはないかもですが、知っておくといざってときに役に立つかもしれません。Mar 17Mar 17
Kenji AbedropUnlessResumedとdropUnlessStartedの解説lifecycle-runtime-compose 2.8.0-alpha02 から dropUnlessResumed と dropUnlessStarted というのが追加されています。これがどういったものかと使用例について解説します。Feb 23Feb 23