【问题标题】:How i can pass the icon in this compossable function ? So that i can reuse it我如何在这个可组合函数中传递图标?这样我就可以重复使用它
【发布时间】:2021-09-03 17:14:32
【问题描述】:

@可组合 fun LoginMethod(icon: Icon , text : String) {

Row(
    modifier = Modifier
        .padding(8.dp)
        .shadow(
            elevation = 6.dp,
            shape = RoundedCornerShape(6.dp)
        )
) {
    Image(imageVector = icon , contentDescription ="")
    Spacer(modifier = Modifier.height(4.dp))
    Text(text = text)

}

}

【问题讨论】:

  • 我不明白。据我所知,您可以在 Composable 内的任何地方使用传递的图标
  • 如果您希望重用在代码中特定位置传递的图标,并通过引用 Composable 在其他地方重用它,jetpack compose 无法以这种方式工作。您不能像视图一样引用 Composables

标签: android android-studio kotlin android-jetpack-compose


【解决方案1】:

你可以使用类似的东西:

@Composable 
fun LoginMethod(icon: ImageVector, text : String) {

  /* your code */
}

然后调用它:

LoginMethod(  Icons.Filled.Add, "title" )

【讨论】:

    【解决方案2】:

    如果您希望在任何地方访问图标,请将其存储在视图模型中。您不能像视图一样从任何地方重新引用 Composable,但就在 Composable 范围内的使用而言,您可以在其中的任何位置使用传入的图标。您必须将其存放在室外使用

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多