Mehmet Peker
09/10/2020, 5:44 PMZach Klippenstein (he/him) [MOD]
09/10/2020, 5:52 PMMehmet Peker
09/10/2020, 6:06 PMZach Klippenstein (he/him) [MOD]
09/10/2020, 7:19 PMHalil Ozercan
09/10/2020, 9:35 PMMehmet Peker
09/11/2020, 9:26 AMZach Klippenstein (he/him) [MOD]
09/11/2020, 2:27 PMMehmet Peker
09/11/2020, 3:26 PM@Composable
fun FridayMessageScreen() {
val context = ContextAmbient.current
val color = ContextCompat.getColor(context,R.color.grey200)
val messageList = ContextAmbient.current.resources.getStringArray(R.array.fridayMessage).toList()
Scaffold(topBar = { FridayMessageAppBar() },backgroundColor = Color(color)) {
ScrollableColumn() {
Text("Example of Scrollable Column")
Text("Example of Scrollable Column")
Text("Example of Scrollable Column")
LazyColumnFor(items = messageList) {
FridayMessageCard(it)
}
}
}
}
@Composable
fun FridayMessageAppBar() {
val title = ContextAmbient.current.resources.getString(R.string.title_friday_message)
TopAppBar(
title = { Text(text = title) },
backgroundColor = Color.White,
navigationIcon = {
IconButton(onClick = { MainActivity.popBackStack() }) {
Icon(vectorResource(id = R.drawable.ic_baseline_arrow_back_ios_24), tint = Color.Black)
}
}
)
}
@Composable
fun FridayMessageCard(s: String) {
val context = ContextAmbient.current
Card(modifier = Modifier.fillMaxWidth().gravity(Alignment.CenterVertically).padding(top = 8.dp),shape = RectangleShape) {
Column {
Text(style = TextStyle(fontSize = 14.sp), text = s, modifier = Modifier.padding(8.dp)
)
Spacer(modifier = Modifier.height(4.dp))
Divider(modifier = Modifier.height(0.3.dp), color = Color.Black)
Row(modifier = Modifier.gravity(Alignment.End), verticalGravity = Alignment.CenterVertically) {
val color = context.getColorFromAttr(R.attr.colorPrimary)
Text(text = "Share", color = Color(color))
IconButton(onClick = {}) {
val color = context.getColorFromAttr(R.attr.colorPrimary)
Icon(vectorResource(id = R.drawable.ic_baseline_share_24), tint = Color(color))
}
}
}
}
}
Zach Klippenstein (he/him) [MOD]
09/11/2020, 3:34 PMLazyColumn {
item { Text() }
item { Text() }
item { Text() }
items(messageList) {
FridayMessageCard()
}
}
Mehmet Peker
09/11/2020, 5:02 PMZach Klippenstein (he/him) [MOD]
09/11/2020, 5:44 PMMehmet Peker
09/11/2020, 5:45 PMZach Klippenstein (he/him) [MOD]
09/11/2020, 5:45 PMLazyColumnFor
, but you’d need to prepend your static items to your list and then render them differently somehow (e.g. using a sealed class to represent your two item types). Using LazyColumn
is just simpler since the API is designed to support this sort of use case. But like the warning says, it’s basically a proof-of-concept at this point, and the API will probably change.Halil Ozercan
09/12/2020, 2:45 PMLazyColumn
API.Mehmet Peker
09/12/2020, 10:06 PM