compose 相关问题

1 包大小比较

直接加入相关依赖包demo包大小增加 (11252KB-12975KB)增加了1723KB

7.1 13555KB
其他对比
考虑到后续出去databing等工具,包大小应该会降低不少

相关问题

  1. 软键盘第一次无法弹起的问题
    Jetpack Compose - Keyboard hides TextField first time
    解决方案
    1.2.0-alpha06版本修复

compose不更新

如果自己封装的组件不更新可以使用加key的方式来刷新

@Composable
inline fun <T> key(
    @Suppress("UNUSED_PARAMETER")
    vararg keys: Any?,
    block: @Composable () -> T
) = block()

当然。我这里出现问题是将参数作为初始值,赋给了一个state。这样会导致无法感知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了。下图中左边的边距应该与小黑方块一样为10dp。但是结果确为20

错误.jpg

如果直接使用width就能避免。


正确.jpg

解决

fun Modifier.myWidth288to220() = this.then(
    Modifier.width(220.myDp)
)

padding与offset的差异

offset

padding 和 offset 之间的区别在于,向可组合项添加 offset 不会改变其测量结果:

因为测量结果是包含了剩余量的测量的,所以,哪怕是你向上偏移了,但是实际上这个组合项的高度是不会变的。有时候就会感觉不合常理,明明我下面有剩余空间,为什么没能填满。

shadow shape问题

 Modifier.shadow(5.myDp, shape = RoundedCornerShape(topStart = 24.myDp, topEnd = 24.myDp))
角度.jpg

这里左边被干掉了,正确显示,应该如下,后续有时间去看看内部啥地方错了


正确的.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容