如何在使用 jetpack compose 的按钮点击时以编程方式打开外部网址?
@Composable
fun MyButton() {
Button(onClick = {
//enter code here
})
}
答案 0 :(得分:4)
这是一种可能的方法:
@Composable
fun MyButton() {
val context = LocalContext.current
val intent = remember { Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com/")) }
Button(onClick = { context.startActivity(intent) }) {
Text(text = "Navigate to Google!")
}
}
在@Composable 函数中,你有一个叫做 "Composition Locals" 的东西。
<块引用>CompositionLocal 类允许通过可组合函数将数据隐式传递给其可组合后代
LocalContext 是这些类之一。 指定的 Intent 是在 Android 上打开外部 URL 的常用方法。
答案 1 :(得分:0)
@Composable 有趣的 WebButton() {
val context = LocalContext.current
val webIntent: Intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com/"))
OutlinedButton(onClick = { context.startActivity(webIntent) }, modifier = Modifier.padding(8.dp)) {
Text( text = "OPEN WEB",
)
}
}