Androg

Jetpack Composeでインクリメンタルサーチ(SearchBar UI)を実装するには

はじめにcomposeバージョンは 1.0.0-beta04 です。 検索入力欄に検索した文字列を入れるとリストが絞り込まれる、いわゆるインクリメンタルサーチを実装したいとおもいます。下の動画のようなイメージです。 SearchBarのUIを作るには? だいたいこんな感じで作れます。 ROOMで部分検索するには@Dao interface …

コールバックをFlowに変換するには

はじめにinterface OnChangeListener { fun onChange() } のようなコールバックを、Flowに変換するにはどうすればいいかを調べました。 RxJavaでいうところ、Observable.create のようなことを実現するにはどうすればいいかという記事です。 結論callbackFlowというAPIがcoroutine …

Jetpack Compose PlayGround

はじめに※こちらは更新予定です。 確認環境は下記です。 compose_version: 1.0.0-beta02 kotlin version: 1.4.31 Android Studio version: Android Studio Arctic Fox | 2020.3.1 Canary 12 確認したコードはGitHubにおいてます。 …

Jetpack Compose Dev Challenge Week3で学んだことまとめ

jetpack compose 全体にかかわること(テーマなど)背景を入れるにはSurface(color = MaterialTheme.colors.primary) が大事 Welcome画面Login画面Textの途中でリンクを入れ …

Animation and Jetpack Compose

はじめにJetpack Compose: Animation 単一アニメーション@Composable fun AnimateAsStateDemo() { var blue by remember { mutableStateOf(true) } val color = if (blue) Blue else Orange Column { …

State and Jetpack Compose

はじめに基本的には、書きを参考に自分なりにまとめたものです。 State and Jetpack Compose Jetpack Compose 入門 composeバージョンは 1.0.0-beta01 です。 StateComposeでは状態をStateというもので扱います。 外から変更可能な MutableStateと外からは変更できないStateがあ …

Layout in Jetpack compose

はじめに基本的には、こちらのコードラボをメモしたものです。 https://developer.android.com/codelabs/jetpack-compose-layouts 試したことはこちらに置いてます。 縦に並べるにはColumn を使う Column { Text("Alfred Sisley", fontWeight = …

Jetpack ComposeでBitmapを表示するには

Jetpack ComposeでBitmapを表示するには、Image関数を使い、引数にBitmapを渡せばいいのですが、そのときImageBitmapに変換する必要があるようで、 そのためにasImageBitmap()という拡張関数が生えてるので、それを使えばよさそうです。 import androidx.compose.foundation.Image …

Jetpack Composeでダークテーマ設定変更によるステータスバーカラーの切り替え方

はじめにAndroid端末でダークテーマの切り替えをしたとき、Jetpack Composeでステータスバーカラーの切りかえをする方法を調べたので、メモ。 方法Jetpack Composeのサンプル、Jetsnackのコードを参考にしています。 interface SystemUiController { fun setStatusBarColor( …

Jetpack ComposeのAmbientについて

はじめにJetpack Composeでステータスバーのカラーを変更するにはどうすればいいか調べていたら、ambientというキーワードが出てきて、なにものかがわからなかったのでメモです。 AmbientとはAmbientとは、FlutterのProviderのようなものです。 サンプルコードを見たほうがわかりやすいと思いますので、見てみましょう。 // ① …