07. Compose List

110 阅读1分钟

01. Compose 可组合组件之Row And Column

02. Compose 可组合组件之 属性 modifier

03. Compose 可组合组件之Card 图片

04. Compose 字体

05. Compose State

06. Compose SnackBar

07. Compose List

class ListActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            CreateItems()
        }
    }

    @Composable
    private fun CreateItemsOne(){
        val painter1 = painterResource(id = R.drawable.sheep)
        val painter2 = painterResource(id = R.drawable.ic_launcher_background)
        LazyColumn(
            verticalArrangement = Arrangement.spacedBy(12.dp),
            contentPadding = PaddingValues(start = 16.dp, end = 16.dp)
        ) {
            itemsIndexed(
                listOf(
                    "Android",
                    "Java",
                    "C",
                    "C++",
                    "Python",
                    "Go",
                    "Php",
                    "Kotlin",
                    "Flutter",
                    "C#",

                    "Android",
                    "Java",
                    "C",
                    "C++",
                    "Python",
                    "Go",
                    "Php",
                    "Kotlin",
                    "Flutter",
                    "C#",

                    "Android",
                    "Java",
                    "C",
                    "C++",
                    "Python",
                    "Go",
                    "Php",
                    "Kotlin",
                    "Flutter",
                    "C#",

                    "Android",
                    "Java",
                    "C",
                    "C++",
                    "Python",
                    "Go",
                    "Php",
                    "Kotlin",
                    "Flutter",
                    "C#",

                    ),

                ) { index: Int, item: String ->
                Row(
                    modifier = Modifier
                        .fillMaxWidth()
                        .background(color = Color.Gray),
                    verticalAlignment = Alignment.CenterVertically
                ) {
                    Image(
                        modifier = Modifier
                            .padding(top = 16.dp)
                            .height(100.dp)
                            .width(100.dp),
                        painter = if (index % 2 == 0) painter1 else painter2,
                        contentDescription = ""
                    )

                    Text(
                        text = " $item",
                        fontSize = 20.sp,
                        fontWeight = FontWeight.Bold,
                        textAlign = TextAlign.Center,
                        modifier = Modifier
                            .fillMaxWidth()
                            .padding(16.dp)
                    )
                }
            }
        }
    }


    @Composable
    private fun CreateItems() {
        val painter1 = painterResource(id = R.drawable.sheep)
        val painter2 = painterResource(id = R.drawable.ic_launcher_background)
        LazyColumn() {
            items(200) {
                Column() {
                    Text(
                        text = "Item $it",
                        fontSize = 20.sp,
                        fontWeight = FontWeight.Bold,
                        textAlign = TextAlign.Center,
                        modifier = Modifier
                            .fillMaxWidth()
                            .padding(16.dp)
                    )

                    Image(
                        modifier = Modifier
                            .padding(top = 16.dp)
                            .fillMaxWidth(),
                        painter = if (it % 2 == 0) painter1 else painter2,
                        contentDescription = ""
                    )
                }
            }
        }
    }
}