1 包大小比較
直接加入相關(guān)依賴包demo包大小增加 (11252KB-12975KB)增加了1723KB
7.1 13555KB
其他對比
考慮到后續(xù)出去databing等工具腰懂,包大小應(yīng)該會降低不少
相關(guān)問題
compose不更新
如果自己封裝的組件不更新可以使用加key的方式來刷新
@Composable
inline fun <T> key(
@Suppress("UNUSED_PARAMETER")
vararg keys: Any?,
block: @Composable () -> T
) = block()
當(dāng)然。我這里出現(xiàn)問題是將參數(shù)作為初始值项秉,賦給了一個state绣溜。這樣會導(dǎo)致無法感知value的變化。
切記以后少偷懶
/// var inputContent by remember { mutableStateOf(value) }
var inputContent by remember { mutableStateOf("") }
inputContent = value
間隔被翻倍
.padding(10.dp)
.background(color = Color.Black)
// .width(220.dp)
.myWidth288to220()
@Composable
fun Modifier.myWidth288to220() = this.then(
width(220.dp)
)
這里padding被X2了娄蔼。下圖中左邊的邊距應(yīng)該與小黑方塊一樣為10dp怖喻。但是結(jié)果確為20
錯誤.jpg
如果直接使用width就能避免。
正確.jpg
解決
fun Modifier.myWidth288to220() = this.then(
Modifier.width(220.myDp)
)
padding與offset的差異
padding 和 offset 之間的區(qū)別在于岁诉,向可組合項(xiàng)添加 offset 不會改變其測量結(jié)果:
因?yàn)闇y量結(jié)果是包含了剩余量的測量的锚沸,所以,哪怕是你向上偏移了涕癣,但是實(shí)際上這個組合項(xiàng)的高度是不會變的哗蜈。有時候就會感覺不合常理,明明我下面有剩余空間坠韩,為什么沒能填滿距潘。
shadow shape問題
Modifier.shadow(5.myDp, shape = RoundedCornerShape(topStart = 24.myDp, topEnd = 24.myDp))
角度.jpg
這里左邊被干掉了,正確顯示同眯,應(yīng)該如下绽昼,后續(xù)有時間去看看內(nèi)部啥地方錯了
正確的.jpg