我的大多數螢屏(視圖)都以可組合的 Box 開始,以包含所有子可組合(組件)。
// background
Box(
modifier = Modifier
.fillMaxSize()
.background(customColor)
)
{
// foreground
Column()
}
不必在每個螢屏上創建修飾符屬性,您將如何創建可重復使用的修飾符?
uj5u.com熱心網友回復:
在這種簡單的情況下,您可以執行以下操作(無需使用then):
fun Modifier.myModifier(customColor: Color) =
this.fillMaxSize()
.background(customColor)
如果您需要在修改器中保存任何狀態,remember或者使用其他帶有注釋的狀態構建器@Composable,您可以使用Modifier.composed來完成。例如,以下是如何將影片添加到修改器:
fun Modifier.myModifier(customColor: Color): Modifier = composed {
val animatedColor by animateColorAsState(customColor)
this.fillMaxSize()
.background(animatedColor)
}
請注意,在內部composed你應該只使用狀態注釋的可組合,而不是視圖。更多細節可以在這里找到。
uj5u.com熱心網友回復:
你可以像這樣創建它
fun Modifier.myModifier(customColor: Color) = this.then(
Modifier.fillMaxSize().background(customColor)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/463597.html
標籤:科特林 android-jetpack-compose
