0 android android-jetpack android-jetpack-compose
我创建了自己的类,名为 MyInputRow。
@Composable
fun MyInputRow(
title: String,
modifier: Modifier = Modifier,
bgColor: Color,
icon: Painter,
clickAction: Unit
) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(6.dp)
.background(color = bgColor)
.clickable { clickAction },
verticalAlignment = Alignment.CenterVertically,
)
{
Text(
modifier = Modifier
.weight(1f)
.padding(6.dp)
.wrapContentWidth(Alignment.Start),
text = title,
)
Image(
painter = icon,
contentDescription = "icon"
)
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这个 clickAction 不起作用。具体来说,在显示屏幕时由于某种原因会调用clickAction,而在单击Row时不会调用clickAction。
其调用方式如下。
class AddActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
setContent {
MyTheme {
...
AddMain()
}
}
}
}
@Composable
fun AddMain() {
BarcodeLayout()
},
}
@Composable
fun BarcodeLayout() {
Column(Modifier.fillMaxWidth()) {
Text(text = {...})
MyInputRow(
title = ...,
bgColor = ...,
icon = ...,
clickAction = scanBarcode()
)
}
}
fun scanBarcode() {
Timber.d("call scanBarcode")
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么。请帮我。
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |