いきなり左端のメニューから
「テーマファイルエディタ」
が消えて、編集できなくなった。
原因はこのプラグインでした。
無効化したらもとに戻りました。
不要じゃね? このプラグイン。
権限関連を厳しくしたんだろうとは思うが。
最近アップデートしたらこのざまです。
いきなり左端のメニューから
「テーマファイルエディタ」
が消えて、編集できなくなった。
原因はこのプラグインでした。
無効化したらもとに戻りました。
不要じゃね? このプラグイン。
権限関連を厳しくしたんだろうとは思うが。
最近アップデートしたらこのざまです。
Gradle Version Catalog。
TOML ファイル作って使ってみました。
Android Studio でこんな。
⚠ This project uses Gradle Version Catalogs: this tool may not behave as expected.
なんか気持ちが悪いですよね。
update dependencies まわりがこれまで通りに正常に動いてるかどうか、心配になります。
そこらをチェックしてくれるツールを探します。
以下、人気順。
👉 ben-manes/gradle-versions-plugin: Gradle plugin to discover dependency updates
👉 jmfayard/refreshVersions: Life is too short to google for dependencies and versions
👉 littlerobots/version-catalog-update-plugin: Gradle plugin for updating a project version catalog
それぞれどこかで見かけたことがあると思います。
機能は、そのうち Android Studio にマージされるんだろうなと妄想。
👉 Jetpack Compose Samples でも使われている「Version catalog update plugin」で libs.versions.toml を書き出してみる
👉 「⚠ This project uses Gradle Version Catalogs: this tool may not behave as expected.」→ 今現在、Gradle Version Catalog には gradle-versions-plugin が必須では?
こんな記事を見つけまして。
まだ @ExperimentalMaterialApi になりますが Pull-to-refresh は Accompanist から卒業し、Material Design ライブラリーに追加されました。でも、Accompanist の SwipeRefreshLayout と異なって全体のレイアウトではなくインジケーターだけが追加されました。
var refreshing by remember { mutableStateOf(false) }
val state = rememberPullRefreshState(
refreshing = refreshing,
onRefresh = { .. }
)
Box(modifier = Modifier.pullRefresh(state = state)) {
LazyColumn {
if (!refreshing) {
items(..)
}
}
PullRefreshIndicator(
refreshing = refreshing,
state = state,
modifier = Modifier.align(Alignment.TopCenter)
)
}
👉 Jetpack Compose v1.3.0に気になったAPIのまとめ - Goodpatch Tech Blog
便利そうなので使ってみました。
公式のサンプルを見ながら、
import androidx.compose.material.pullrefresh.PullRefreshIndicator
import androidx.compose.material.pullrefresh.pullRefresh
import androidx.compose.material.pullrefresh.rememberPullRefreshState
val refreshScope = rememberCoroutineScope()
var refreshing by remember { mutableStateOf(false) }
var itemCount by remember { mutableStateOf(15) }
fun refresh() = refreshScope.launch {
refreshing = true
delay(1500)
itemCount += 5
refreshing = false
}
val state = rememberPullRefreshState(refreshing, ::refresh)
Box(Modifier.pullRefresh(state)) {
LazyColumn(Modifier.fillMaxSize()) {
if (!refreshing) {
items(itemCount) {
ListItem { Text(text = "Item ${itemCount - it}") }
}
}
}
PullRefreshIndicator(refreshing, state, Modifier.align(Alignment.TopCenter))
}
👉 androidx.compose.material.pullrefresh | Android Developers
実装してみましたが、引っ張る前から、表示されたまま消えない!! (少し読み込みが長いです。)
読み込み終了後、Box の範囲からは外れていくんだけども、消えない。
何なんすか。
バグ?
👉 PullRefresh: indicator left visible on screen [248274004] - Visible to Public - Issue Tracker
PullRefreshIndicator の scale = true
にします。
👉 androidx.compose.material.pullrefresh | Android Developers
以下のように追加します。
PullRefreshIndicator(
refreshing = refreshing,
state = state,
modifier = Modifier.align(Alignment.TopCenter),
scale = true // *
)
結果。
消えました。とりあえず。
上下に移動しながら 拡大 → 縮小
して、消えてるように見えます。
この Indicator
て、確か以前は、scale
してましたよね?
👉 Jetpack Compose Accompanist — An FAQ. | by Ben Trengrove | Android Developers | Medium