如何在 jetpack compose/kotlin 中将图像添加到按钮

问题描述 投票:0回答:1

我正在尝试编写一个按钮,到目前为止已经创建了一个名为 DefaultButton 的单独函数,其中包含参数字符串和 onclick 函数。我还想向此按钮添加图像,但未能成功将其添加为参数。还有另一种方法可以做到这一点并向按钮添加图像吗?

我在下面尝试了这个,使用功能默认按钮,以及不同功能中的默认按钮。


fun DefaultButton(
    image: Image,
    text: String,
    onClick: () -> Unit
) {
    Spacer(modifier = Modifier.height(5.dp))
    Button(
        onClick = onClick,
        modifier = Modifier.size(width = 200.dp, height = 70.dp)) {
        Text(text, fontSize = 40.sp)

    }
}

@Composable
fun HomeScreen(
    navigateToProfile: (Int, Boolean) -> Unit,
    navigateToSearch: (String) -> Unit,
    navigateToSettings: (String) -> Unit,
    popBackStack: () -> Unit,
    popUpToLogin: () -> Unit,
) {
    Column (
     modifier = Modifier.fillMaxWidth(),
     horizontalAlignment = Alignment.CenterHorizontally) {
     Text("Home Screen", fontSize = 40.sp)

DefaultButton(
         text = "Favourites",
         onClick = { navigateToSearch("Hello") }
     )

我找不到一种方法可以成功地将图像(R.drawable)添加到参数而不出现错误消息。我应该插入图像而不将其添加为参数吗?我该怎么做?我应该使用“图标”吗?有什么区别?

android kotlin android-jetpack-compose android-jetpack jetpack-compose-navigation
1个回答
0
投票

如果您想添加可绘制对象作为参数,请执行此操作

@DrawableRes val imageRes: Int

而不是

image: Image
并使用可绘制的:

Image(
    modifier = Modifier,
    painter = painterResource(id = imageRes))
© www.soinside.com 2019 - 2024. All rights reserved.