【发布时间】:2022-12-31 19:41:24
【问题描述】:
我正在制作一个“名片”应用程序,它基本上显示我的照片以及下面的联系信息。联系信息由多行组成,每行在左侧显示应用程序图标(例如:Instagram),在右侧显示我的信息(例如:我的 Instagram 用户名)。
我为每个应用程序制作了单独的可组合函数并调用它们并且它工作正常。
例如:-
@Composable
fun InstagramContactInfo() {
Row(modifier = Modifier
.fillMaxWidth()
.padding(start = 30.dp, end = 30.dp, bottom = 16.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically) {
Image(
painter = painterResource(R.drawable.icons8_instagram_48),
contentDescription = "Instagram Icon",
modifier = Modifier.size(50.dp)
)
Text(
text = "@username",
fontFamily = FontFamily.Monospace,
color = Color.White,
)
}
}
但我想创建一个函数,它只接受一个图像作为图标,一个用户句柄作为一个字符串,然后显示完全相同的东西。
如何将图像作为参数传递?
PS:我试图嵌入资源 ID 但它不起作用
@Composable
fun ContactInfo(icon: String, handle: String) {
Row(modifier = Modifier
.fillMaxWidth()
.padding(start = 30.dp, end = 30.dp, bottom = 16.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically) {
Image(
painter = painterResource(R.drawable.${icon}),
contentDescription = "App Icon",
modifier = Modifier.size(50.dp)
)
Text(
text = handle,
fontFamily = FontFamily.Monospace,
color = Color.White,
)
}
}
【问题讨论】:
标签: android android-studio kotlin android-layout android-jetpack-compose