前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >安卓软件开发:Jetpack Compose中常见的核心概念总结-5

安卓软件开发:Jetpack Compose中常见的核心概念总结-5

原创
作者头像
Nimyears
修改2024-11-05 20:46:17
修改2024-11-05 20:46:17
1080
举报

21. 加载指示器和进度条

CircularProgressIndicator - 圆形加载指示器

代码语言:kotlin
复制
CircularProgressIndicator(
    modifier = Modifier.size(50.dp)
)
  • CircularProgressIndicator: 显示一个圆形的进度指示器,常用于加载状态的显示。

LinearProgressIndicator - 线性进度条

代码语言:kotlin
复制
LinearProgressIndicator(
    progress = 0.5f,
    modifier = Modifier.fillMaxWidth()
)
  • LinearProgressIndicator: 显示一个线性的进度条,可以显示加载进度。

22. 动画效果

Crossfade - 交叉淡入淡出动画

代码语言:kotlin
复制
var currentScreen by remember { mutableStateOf("Screen1") }

Crossfade(targetState = currentScreen) { screen ->
    when (screen) {
        "Screen1" -> Text("This is NimScreen 1")
        "Screen2" -> Text("This is NimScreen 2")
    }
}
  • Crossfade: 在多个内容之间切换时,带有淡入淡出效果。

23. 自定义主题和样式

MaterialTheme - 使用自定义主题

代码语言:kotlin
复制
MaterialTheme(
    colors = darkColors(),
    typography = Typography(
        body1 = TextStyle(color = Color.White)
    )
) {
    Text("Hello, Nim!", style = MaterialTheme.typography.body1)
}
  • MaterialTheme: 定义全局主题,包括颜色、排版和形状等。

Surface - 表面样式

代码语言:kotlin
复制
Surface(
    color = Color.Gray,
    shape = RoundedCornerShape(8.dp)
) {
    Text("Styled Surface", modifier = Modifier.padding(16.dp))
}

24. 图片加载和显示

Image - 显示图片

代码语言:kotlin
复制
Image(
    painter = painterResource(id = R.drawable.sample_image),
    contentDescription = "Nim Image",
    modifier = Modifier.size(100.dp)
)
  • painterResource: 加载本地资源中的图片。

Coil Image - 使用Coil库加载网络图片

代码语言:kotlin
复制
Image(
    painter = rememberImagePainter("https://example.com/nim.jpg"),
    contentDescription = "Network Image",
    modifier = Modifier.size(100.dp)
)
  • rememberImagePainter: 加载网络图片,可以和Coil库集成。

25. 验证输入框

TextField Validation - 文本输入框验证

代码语言:kotlin
复制
var text by remember { mutableStateOf("") }
var isValid by remember { mutableStateOf(true) }

TextField(
    value = text,
    onValueChange = {
        text = it
        isValid = it.length > 5
    },
    label = { Text("Enter text") },
    isError = !isValid
)
  • isError: 设置文本框的错误状态。

OutlinedTextField - 带边框的输入框

代码语言:kotlin
复制
OutlinedTextField(
    value = text,
    onValueChange = { text = it },
    label = { Text("Outlined Input") }
)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 21. 加载指示器和进度条
    • CircularProgressIndicator - 圆形加载指示器
    • LinearProgressIndicator - 线性进度条
  • 22. 动画效果
    • Crossfade - 交叉淡入淡出动画
  • 23. 自定义主题和样式
    • MaterialTheme - 使用自定义主题
    • Surface - 表面样式
  • 24. 图片加载和显示
    • Image - 显示图片
    • Coil Image - 使用Coil库加载网络图片
  • 25. 验证输入框
    • TextField Validation - 文本输入框验证
    • OutlinedTextField - 带边框的输入框
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档