Open in app

Sign In

Write

Sign In

Kenji Abe
Kenji Abe

672 Followers

Home

About

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


Dec 30, 2022

ViewModelで画面引数を受け取る

意外と知られていない気がするので、ViewModelで画面引数を受け取る方法をまとめておきます。 AssistedInjectなどの特殊なことも必要なく、かなり簡単にViewModelで画面引数を受け取れます。 受け取る方法 実はViewModelで画面引数を受け取るには非常に簡単で、以下のように SavedStateHandle から取得できます。 class SampleViewModel( savedStateHandle: SavedStateHandle ) : ViewModel() { val userId: String? = savedStateHandle["userId"] // ... } ViewModelのコンストラクタで SavedStateHandle を受け取るようにしておくと、画面引数として渡したときと同じキーを使うだけ取得できます。

Android

4 min read

ViewModelで画面引数を受け取る
ViewModelで画面引数を受け取る
Android

4 min read


Dec 9, 2022

Proto DataStoreで様々なデータを扱う

Proto DataStoreはSharedPreferencesに比べて多くのデータタイプを扱うことができるようになっています。Proto DataStoreでどのようなデータを扱うことができるかを見ていきます。Protocol Buffersの話がメインになります。 また、最後にprotoファイルを変更するときに気をつけることを簡単に書いてい …

Android

9 min read

Proto DataStoreで様々なデータを扱う
Proto DataStoreで様々なデータを扱う
Android

9 min read


Nov 19, 2022

Jetpack Composeで画面の結果を返す

Composeの画面遷移で、前の画面に結果を返す方法についてまとめておきます。 基本的にはFragmentと同じような感じで NavBackStackEntry の SavedStateHandle を使用していきます。 結果を返す ScreenAからScreenBに遷移して、ScreenBでの画面の結果をScreenAに返す処理です。 navController.previousBackStackEntry?.run { savedStateHandle["result"] = "Foo" } 上記のように NavHostController#previousBackStackEntry の SavedStateHandle にKey-Valueで設定するだけです。 previousBackStackEntry っていうのが大事で前の画面の NavBackStackEntry アクセスしています。

Jetpack Compose

4 min read

Jetpack Composeで画面の結果を返す
Jetpack Composeで画面の結果を返す
Jetpack Compose

4 min read


Oct 21, 2022

Kotlinの静的解析ツールDetektを導入する (Part 2/2)

前回の続きでDetektを紹介していきます。。前回は基本的な設定について紹介しましたが、まだDetektにはいろんな機能があるので紹介していきます。 ktlint対応 Detektにはktlintのラッパーである Formatting というルールを使うことでktlintと同じ対応をすることができます。 Formatting はデフォルトでは入っていないのですが、以下のよ …

Kotlin

6 min read

Kotlinの静的解析ツールDetektを導入する (Part 2/2)
Kotlinの静的解析ツールDetektを導入する (Part 2/2)
Kotlin

6 min read


Oct 16, 2022

Kotlinの静的解析ツールDetektを導入する (Part 1/2)

よく使われてるKotlinのLintツールとしては、ktlintがあると思いますが、今回はDetektを紹介したいと思います。 Hello from Detekt | Detekt Detekt comes with a set of plugins that helps you configure it easily in your Gradle, Maven, Bazel, ... build. Enjoy…detekt.dev DetektはKotlinのコード静的解析ツールになっていて、フォーマットエラーやCode smellを検出してくれるものになります。 ktlintに比べて更に細かいことをしてくれますし、コードで問題がありそうな箇所も検出して …

Kotlin

8 min read

Kotlinの静的解析ツールDetektを導入する (Part 1/2)
Kotlinの静的解析ツールDetektを導入する (Part 1/2)
Kotlin

8 min read

Kenji Abe

Kenji Abe

672 Followers

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

Following
  • Ben Weiss

    Ben Weiss

  • Jaewoong Eum

    Jaewoong Eum

  • Jose Alcérreca

    Jose Alcérreca

  • mono 

    mono 

  • Yigit Boyar

    Yigit Boyar

See all (157)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams