跳转至

安卓中的 Snackbar 使用 Jetpack Compose

原文:https://www . geeksforgeeks . org/snackbar-in-Android-using-jet pack-compose/

先决条件:

Snackbar 是一个轻量级的小部件,它们用于在应用程序的底部显示消息。它是与材料设计库一起引入的,作为吐司的替代。在本文中,我们将解释如何使用 Jetpack Compose 创建一个 Snackbar。下面是展示我们将要构建的内容的示例图片。

分步实施

第一步:创建新项目

使用 Jetpack Compose 在 Android Studio 中创建新项目请参考如何使用 Jetpack Compose 在 Android Studio Canary 版本中创建新项目。

第二步:使用 MainActivity.kt

转到 MainActivity.kt 文件,参考以下代码。下面是 MainActivity.kt 文件的代码。代码中添加了注释,以更详细地理解代码。

我的锅

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            JetpackComposePracticeTheme {
                // A surface container using the 'background' color from the theme
                Surface(color = Color.White) {
                    Column(modifier = Modifier.padding(10.dp)) {
                        // call the function which contains all the snackbars
                        SnackBars()
                    }
                }
            }
        }
    }
}

// In order to use compose properties annotate with @Compose
@Preview
@Composable
fun SnackBars() {
    Text(text = "Snackbars", style = typography.h6, modifier = Modifier.padding(8.dp))
    // Normal Snackbar
    Snackbar(modifier = Modifier.padding(4.dp)) {
        Text(text = "This is a basic snackbar")
    }
    // Snackbar with action item
    Snackbar(
        modifier = Modifier.padding(4.dp),
        action = {
            TextButton(onClick = {}) {
                Text(text = "Remove")
            }
        }
    ) {
        Text(text = "This is a basic Snackbar with action item")
    }

   // Snackbar with action item below text
    Snackbar(
        modifier = Modifier.padding(4.dp),
        actionOnNewLine = true,
        action = {
            TextButton(onClick = {}) {
                Text(text = "Remove")
            }
        }
    ) {
        Text(text = "Snackbar with action item below text")
    }
}

输出:



回到顶部