如何使用 jetpack compose 在单击按钮时以编程方式打开外部 url?

时间:2021-03-25 14:41:16

标签: android kotlin onclick android-jetpack-compose

如何在使用 jetpack compose 的按钮点击时以编程方式打开外部网址?

    @Composable
    fun MyButton() {
     Button(onClick = {
    //enter code here
    })
}

2 个答案:

答案 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",
        )
}

}