我有一个Stack小部件,其中包含一个Box和一个Image。随着状态的变化,我想通过状态的值来缩放Box小部件,例如2倍。
我没有找到有关在Modifier或Box属性上缩放小部件的任何信息,因此我决定通过使用“Modifier.size”来操纵大小来响应状态更改,但这对我来说并不理想。
那么,是否支持缩放小部件,还是我应该手动操作大小属性?
-谢谢
我没有找到有关在Modifier或Box属性上缩放小部件的任何信息,因此我决定通过使用“Modifier.size”来操纵大小来响应状态更改,但这对我来说并不理想。
那么,是否支持缩放小部件,还是我应该手动操作大小属性?
-谢谢
@Composable
fun Pointer(modifier: Modifier = Modifier, state: TransitionState, onClick: () -> Unit) {
Stack(modifier) {
Box(
shape = CircleShape, backgroundColor = Color.Gray.copy(alpha = .3f),
modifier = Modifier.size(state[width])
)
Image(
asset = imageResource(id = R.drawable.ic_pointer),
modifier = Modifier
.clickable(onClick = onClick)
)
}
}
Box()
,一个比例会带来什么作用而一个尺寸不会吗?换言之,"is not ideal for me"是什么意思? - CommonsWareBox()
没有大小,除了你告诉它要绘制的大小。没有“获取盒子的宽度/高度”的方法,除非你告诉它要绘制的大小。你正在以有状态视图的方式思考,这不是 Compose 的工作方式。因此,Modifier.size()
似乎是正确的答案。“我不想关心盒子的大小或显式地保留对它的引用”——在这件事上你别无选择。 - CommonsWare