我想使用 jetpack compose 创建 Cardview,但我找不到任何示例。
user9075369
问问题
6782 次
3 回答
17
你可以使用1.0.0
类似的东西:
Card(
shape = RoundedCornerShape(8.dp),
backgroundColor = MaterialTheme.colors.surface,
) {
Column(
modifier = Modifier.height(200.dp).padding(16.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
){
Text(text = "This is a card view",
style = MaterialTheme.typography.h4)
}
}
于 2019-10-26T07:50:44.753 回答
0
正如朋友们所推荐的,Card
这是一种创造方式,CardView
但你也可以通过表面来做到这一点:
val shape = RoundedCornerShape(10.dp)
Surface(modifier = Modifier.size(250.dp, 70.dp), elevation = 8.dp, shape = shape) {
Text(text = "Sample text")
}
请注意,Surface
andCard
不能用于定位项目,所以如果你想定位它Text(text = "Sample text")
,你应该在里面使用一个布局,Surface
如下所示:
val shape = RoundedCornerShape(10.dp)
Surface(modifier = Modifier.size(250.dp, 70.dp), elevation = 8.dp, shape = shape) {
Box(modifier = Modifier.fillMaxSize()) {
Text(modifier = Modifier.align(Alignment.Center), text = "Sample text")
}
}
适当的创建方式CardView
是这样,但如果你只想为视图创建阴影,你可以使用Modifier.shadow
(注意Modifier.shadow
和Surface/Card
不一样):
Box(modifier = Modifier.size(250.dp, 70.dp).shadow(8.dp, RoundedCornerShape(10.dp)), contentAlignment = Alignment.Center) {
Text(text = "Sample Text")
}
于 2021-09-12T20:14:56.513 回答