Open in app

Sign in

Write

Sign in

Kenji Abe
Kenji Abe

709 Followers

Home

About

Nov 14

RoomのKotlinコード生成

Room 2.6.0 からKSPでKotlinのコード生成が可能になりました。 Kotlinコード生成を有効にすることでの制約や変更点などをまとめておきます。 Kotlinコード生成の設定 Kotlinコード生成するにはKSPを使用する必要があります。KSPについての解説は省略しますが、詳細は公式ドキュメントなどを参考にしてください。 有効にするにはKSPの引数に以下のように …

Android

5 min read

RoomのKotlinコード生成
RoomのKotlinコード生成
Android

5 min read


Nov 5

Composeのオーバースクロールエフェクト

Composeでスクロール処理するときに、オーバースクロール時のエフェクトでいくつか注意することがあるので、まとめておきます。 Android 12以降はオーバースクロールすると、ストレッチして戻るような挙動になっています。それより前のバージョンは端のほうにグレーの効果が表示されるようになっています。

Android

7 min read

Composeのオーバースクロールエフェクト
Composeのオーバースクロールエフェクト
Android

7 min read


Oct 1

Navigation ComposeでstartDestinationに引数を渡す方法

Navigation Compose で最初の画面に引数を渡す方法についてです。 例えば、Activityのパラメータをそのまま Composable 関数に渡したい場合などがあります。そのときにどのようにすれば良いかを紹介します。 例えば、以下ように最初の画面に id パラメータを渡したい場合です。 NavHost( navController = navController, startDestination = "start/{id}" ) { composable( "start/{id}", arguments = listOf( navArgument("id") { type = NavType.IntType } ) ) { backStackEntry -> val id = backStackEntry.arguments?.getInt("id") // ... } }

Android

3 min read

Navigation ComposeでstartDestinationに引数を渡す方法
Navigation ComposeでstartDestinationに引数を渡す方法
Android

3 min read


Sep 10

ComposeでLifecycleを監視する(2023年9月バージョン)

ComposeでLifecycleを監視するには DisposableEffect を使う方法が一番使用されてるのかなと思います。公式ドキュメントにも記載されています。 Lifecycle 2.7.0-alpha01 からこれがちょっと簡単に記述できるようになります。 注意: まだalphaなので今後変更があるかもです。 FlowでLifecycleの状態を取得 currentStateAsSta …

Android

4 min read

ComposeでLifecycleを監視する(2023年9月バージョン)
ComposeでLifecycleを監視する(2023年9月バージョン)
Android

4 min read


Jul 2

WindowInsetsのConsumeについて

WindowInsets には Consume/Consumption(消費)の仕組みがあります。この仕組みについてまとめます。 ※この記事ではComposeについてのみ解説しています。 Consume/Consumption WindowInsetsの消費とはどういうことかというと、親要素でWindowInsetsのPaddingを設定したあとに、子要素で同じものを設定したとしても何も起き …

Jetpack Compose

6 min read

WindowInsetsのConsumeについて
WindowInsetsのConsumeについて
Jetpack Compose

6 min read


May 28

Jetpack ComposeでカスタムShapeを実装する

Jetpack Composeには Shape というのがあり、これを使って、画像を切り抜いたり、背景色を塗ったり、ボーダーを描いたりすることができます。 Compose側では CircleShape , RoundedCornerShape , CutCornerShape などが定義されていますので、基本的なものはこれらで対応可能になっています。 もし、定義されていないShapeを使用したい場合は、自分でカスタムのShapeも実装することが可能です …

Jetpack Compose

5 min read

Jetpack ComposeでカスタムShapeを実装する
Jetpack ComposeでカスタムShapeを実装する
Jetpack Compose

5 min read


Apr 10

Kotlinのdata object

Kotlin 1.9でリリース予定で、これを書いてる時点の最新バージョン(1.8.20)ではPreview機能として使用できる data object について簡単にまとめておきます。 基本はドキュメントを読んでもらえば良いかなとは思います。 What's new in Kotlin 1.8.20 | Kotlin Release date: April 3, 2023 The Kotlin 1.8.20 release is out and here are some of its biggest highlights: You can also…kotlinlang.org 通常の object との違いなどを見ていきます。 toString() data object では toString() が定義され …

Kotlin

7 min read

Kotlinのdata object
Kotlinのdata object
Kotlin

7 min read


Apr 2

JetpackComposeのmovableContentOf

状態を保持したまま要素の配置を変更可能にする movableContentOf について紹介します。 movableContentOf の基本 まずは例として以下のように条件によって縦と横の並びを変更したいとします。 @Composable fun MovableContentSample() { // ... if (vertical) { Column { …

Android

4 min read

JetpackComposeのmovableContentOf
JetpackComposeのmovableContentOf
Android

4 min read


Feb 23

GradleのDependency locking

Gradleは依存関係のバージョン指定に動的バージョンを使用することができますが、このバージョンを固定する機能があるので、それについてまとめておきます。 Locking dependency versions Use of dynamic dependency versions (e.g. 1.+ or [1.0,2.0)) makes builds non-deterministic. This causes builds to break…docs.gradle.org 他言語のライブラリ管理のロックファイル(BundlerのGemfile.lockやnpmのpackage-lock.json)と似たようなものになります。 動的なバージョン ぼくが観測している範囲では基本的にあまり …

Gradle

10 min read

GradleのDependency locking
GradleのDependency locking
Gradle

10 min read


Jan 20

Composeの様々なクリック処理

ComposeではModifierを使ってクリックを処理する方法がいくつかありますので、それらをまとめておきます。 Modifier.clickable clickable は一番シンプルなクリックイベントを処理するものになります。 Box( modifier = Modifier.clickable { // クリックされたときの処理 } ) この cli …

Jetpack Compose

6 min read

Jetpack Compose

6 min read

Kenji Abe

Kenji Abe

709 Followers

Programmer / Gamer / Google Developers Expert for Android, Kotlin / @STAR_ZERO

Following
  • Jaewoong Eum

    Jaewoong Eum

  • mono 

    mono 

  • Mamoru (Mao) Kijima

    Mamoru (Mao) Kijima

  • takahirom

    takahirom

  • Yigit Boyar

    Yigit Boyar

See all (156)

Help

Status

About

Careers

Blog

Privacy

Terms

Text to speech

Teams