Android开发之Compose学习示例之一个简单的网络图片列表展示

老套路先看图:PicuterShow/GIF 2021-12-31 18-26-59.gif · xiayiye5/ComposeStudy - Gitee.com

 

这里面涉及的知识点比较多主要有:

1.AS版本建议使用最新的白狐版本,注意compose目前仅支持kotlin语言开发

2.列表控件LazyColumn

3.compose如何加载网络图片

4.布局如何编写

第一步使用最新版本AS创建一个compose项目,创建后等待库下载完成会自定配置compose环境

第二步:得先依赖网络图片库

 implementation("io.coil-kt:coil:1.4.0")
 implementation("io.coil-kt:coil-compose:1.4.0")

第三步:

开始编写首页布局

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            ComposeStudyTheme {
                // A surface container using the 'background' color from the theme
                Surface(color = MaterialTheme.colors.background) {
                    Greeting()
                }
            }
        }
    }
}

@Composable
fun Greeting() {
//这个就是首页布局
    HomeShow()
}

@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
    ComposeStudyTheme {
        Greeting()
    }
}

再看下首页布局怎么样的

package com.example.composestudy.ui.widget

import android.widget.Toast
import androidx.comp
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以帮你回答这个问题。下面是 SelectionContainer 的使用示例的 Kotlin 代码示例: ```kotlin import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.selection.toggleable import androidx.compose.material.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp @Composable fun SelectionContainerExample() { val fruits = listOf("Apple", "Banana", "Orange") var selectedFruits by remember { mutableStateOf(emptySet<String>()) } Column(Modifier.padding(16.dp)) { Text("Select your favorite fruits") Spacer(Modifier.height(8.dp)) fruits.forEach { fruit -> Row(Modifier .fillMaxWidth() .toggleable( value = selectedFruits.contains(fruit), onValueChange = { selectedFruits = if (selectedFruits.contains(fruit)) { selectedFruits - fruit } else { selectedFruits + fruit } } ) .background(if (selectedFruits.contains(fruit)) Color.LightGray else Color.Transparent) .padding(16.dp) ) { Text( text = fruit, style = MaterialTheme.typography.body1 ) } } Spacer(Modifier.height(8.dp)) Text("Selected Fruits: $selectedFruits") } } ``` 这个示例演示了如何使用 SelectionContainer 组件创建一个可以选择多个选项的列表。每次用户点击一个选项时,会触发 onValueChange 回调,更新选项的状态。同时,选中的选项会以特殊样式高亮显示。 希望这个示例能够对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值