2020年10月21日水曜日

DevFest 2020 で Material Design Components のカスタマイズについて話してきました。

資料はこちらです。



Android Studio 4.1 についてと、まとめの後のおまけにいくつかページを追加しています。
MDC をカスタマイズするときは便利だと思うので、是非参考にしてください。

2020年9月10日木曜日

Kotlin でスプレット演算子を使うと enum の values() に値を追加したリストを簡単に作れる

以下のような Rank クラスがあるとして、 enum class Rank { GOLD, SILVER, BRONZE } ランクなしという意味の null を含むリストを作りたいとします。

↓ 作りたいリスト val list: List<Rank?> = ... println(list) // [null, GOLD, SILVER, BRONZE] Rank の一覧は Rank.values() で取れるので val ranks: Array<Rank> = Rank.values() println(ranks.joinToString()) // GOLD, SILVER, BRONZE listOf(null) で null だけのリストを作って + で ranks と合わせたリストを作ることもできますが、 val list: List<Rank?> = listOf(null) + ranks スプレット演算子を使うと余計なリスト(= null だけのリスト)を作らずに済みます。 val list: List<Rank?> = listOf(null, *ranks)



2020年8月10日月曜日

ACTION_GET_CONTENT で複数の MIME type を指定したいときは EXTRA_MIME_TYPES を使う

画像を ACTION_GET_CONTENT で取りたいけれど、image/* ではなく image/png と image/jpeg だけにしたいという場合は EXTRA_MIME_TYPES を指定します。このとき type には */* を指定しておきます。 val intent = Intent(Intent.ACTION_GET_CONTENT) .setType("*/*") .putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/png", "image/jpeg")) ACTION_OPEN_DOCUMENT でも使えます。