package com.gyf.csams.uikit import android.content.Intent import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.Divider import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import com.gyf.csams.R import com.gyf.csams.activity.ui.ActivityDetailActivity import com.gyf.csams.module.ActivityVo /** * 历史活动 * * @param modifier */ @Composable private fun HistoryActivity(modifier: Modifier, activityVo: ActivityVo) { val context = LocalContext.current Box(modifier = modifier.clickable(onClick = { context.startActivity(Intent(context, ActivityDetailActivity::class.java).apply { putExtra(ActivityDetailActivity::class.java.name, activityVo.activityId) }) }), contentAlignment = Alignment.Center) { Image( painter = painterResource(id = R.drawable.history_activity_border), contentDescription = null, modifier = Modifier.fillMaxSize() ) Image( painter = painterResource(id = R.drawable.ic_launcher_foreground), contentDescription = null, modifier = Modifier.fillMaxSize() ) Text(text = activityVo.activityName) } } @Composable fun Activities(modifier: Modifier = Modifier, list: List?) { val listState = rememberLazyListState() LazyColumn(state = listState, modifier = modifier) { list?.chunked(2)?.forEach { item { Row(modifier = Modifier.fillMaxWidth()) { HistoryActivity(modifier = Modifier.weight(0.4F), it[0]) Spacer(modifier = Modifier.weight(0.2F)) if (it.size == 2) HistoryActivity( modifier = Modifier.weight(0.4F), it[1] ) else Box(modifier = Modifier.weight(0.4F)) } Spacer(modifier = Modifier.height(10.dp)) Divider(color = MaterialTheme.colors.background) } } } }