初步确定,问题是LazyVerticalGrid的测量策略和其他的静态布局不同引起的
1.在row中正常
Box(
modifier = Modifier
.size(105.myDp)
.clip(MyShape.rc5),
contentAlignment = Alignment.Center
) {
MyImage(
imagePath = s,
contentScale = ContentScale.Fit,
)
}
2.在LazyVerticalGrid中 按上面的方法再父组件中设置裁剪没有任何作用
放在Box中无作用。MyImage中可以切。但是,这个时候他的约束是图片的显示大小。也就是说,小图也会被切圆角
Box(
modifier = Modifier
.size(105.myDp)
.clip(MyShape.rc5),
contentAlignment = Alignment.Center
) {
MyImage(
imagePath = it,
contentScale = ContentScale.Fit,
modifier = Modifier.clip(MyShape.rc5)
)
}
指定image大小才能避免小图也被裁剪 相当于这个时候的约束才是外面的
Box(
modifier = Modifier
.size(105.myDp)
.clip(MyShape.rc5),
contentAlignment = Alignment.Center
) {
MyImage(
imagePath = it,
contentScale = ContentScale.Fit,
modifier = Modifier.size(105.myDp).clip(MyShape.rc5)
)
}