Muh*_*lib 5 android android-jetpack-compose jetpack-compose-modifier
这就是我最终给我的jetpack Compose盒子一个圆角形状的方式
Box(modifier = Modifier
.size(32.dp)
.clip(CircleShape)
.border(BorderStroke(2.dp, Color.Red), CircleShape)
){
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,CircleShape 在修改器链中被提及两次。感觉好像必须有更好的方法来做到这一点。
有任何想法吗?
Thr*_*ian 16
Modifier.clip
如果您需要链背景pointerInput
(也可以单击指针输入),graphicsLayer
或者任何Modifier
需要可组合项当前层的背景,则需要。Modifier.clip()Modifier.graphicsLayer{clip =true shape=shape}
和图层效果有点像物理存在,Modifier.graphics 的顺序也定义了可组合项的行为方式。
另一方面,Modifier.border() 是一个 DrawModifier,它对可组合项的物理存在没有影响
Column(
modifier = Modifier
.fillMaxSize()
.padding(20.dp)
) {
Text("Box with Clip and no border shape")
Box(
modifier = Modifier
.clip(CircleShape)
.border(3.dp, Color.Red)
.size(100.dp)
.background(Color.Yellow)
.clickable { }
)
Text("Box with no clip")
Box(
modifier = Modifier
.border(3.dp, Color.Red, CircleShape)
.size(100.dp)
.background(Color.Yellow)
.clickable { }
)
Text("Box with clip and border with shape")
Box(
modifier = Modifier
.clip(CircleShape)
.border(3.dp, Color.Red, CircleShape)
.size(100.dp)
.background(Color.Yellow)
.clickable { }
)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2850 次 |
最近记录: |