Android Compose-Surface的使用

728 阅读1分钟

一、Jetpack Compose和Surface组件

Jetpack Compose是Android的现代工具包,旨在简化UI开发过程。它是一个灵活的、易于使用的声明式UI库,开发人员可以使用它来构建应用的界面。

Surface是Jetpack Compose的基本构建块之一。它是一个提供可视化空间以及处理高程、形状和边界的组件。Surface可以让开发人员控制阴影、边框、形状和背景色等元素的视觉效果。

二、Surface组件的基本使用

要创建一个Surface组件,只需简单地在Surface函数中添加您的内容即可。例如:

Surface(color = Color.White) {  
    Text("Hello World")  
}

在上述示例中,我们创建了一个具有白色背景的Surface,并在其中添加了一段文字。

三、影响Surface的属性

在Surface组件中,有几个属性可以控制Surface的外观和行为:

  • modifier: Modifier:可以为 Surface 设置修饰符
  • shape: Shape:设置形状,默认是 RectangleShape
  • color: Color:设置背景色
  • contentColor: Color:为 Surface 中的 Text 文字设置颜色,当 Text 没有指定颜色时,就是使用该颜色
  • border: Border?:设置外边框
  • elevation: Dp:为 Surface 设置在 Z 轴方向上的高度
  • content: @Composable () -> Unit:为 Surface 设置内容布局,需要传入 @Compose 方法
@Preview
@Composable
fun surfaceTest(){
    Surface(color = Color.Yellow, modifier = Modifier.size(100.dp), shape = CircleShape, elevation = 15.dp) {
        Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center){
            Text(text = "Hello Word")
        }
 
    }
}

b3c0cd0b24ba0cf3f9a78c9fe4f6b7c.png

在上述示例中,我们创建了一个带有白色背景、圆形边界和15dp高程的Surface。