Skip to content

Instantly share code, notes, and snippets.

@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Last active May 14, 2020 13:40
Pass FabConfiguration to TweetBottomBar
@Composable
fun TweetBottomBar(
fabConfiguration: BottomAppBar.FabConfiguration?,
homeListener: () -> Unit,
searchListener: () -> Unit,
notificationListener: () -> Unit,
messageListener: () -> Unit
) {
BottomAppBar(
fabConfiguration = fabConfiguration
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created May 14, 2020 13:34
Set FAB position to EndDocked
@Composable
fun ListScreen(state: MutableState<MutableList<Tweet>>) {
val (scaffoldState, onScaffoldStateChange) = state {
// state content collapsed
}
Scaffold(
scaffoldState = scaffoldState,
topAppBar = {
// top app bar content collapsed
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created May 14, 2020 13:20
Add TweetBottomBar component to Scaffold
@Composable
fun ListScreen(state: MutableState<MutableList<Tweet>>) {
val (scaffoldState, onScaffoldStateChange) = state {
// state collapsed
}
Scaffold(
scaffoldState = scaffoldState,
topAppBar = {
// top app bar contents collapsed
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created May 14, 2020 13:09
Initial bottom app bar composable function
@Composable
fun TweetBottomBar(
homeListener: () -> Unit,
searchListener: () -> Unit,
notificationListener: () -> Unit,
messageListener: () -> Unit
) {
BottomAppBar {
IconButton(
modifier = Modifier.weight(1f),
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 9, 2020 13:49
Pass empty lambda in the TweetBarPreview
@Preview
@Composable
fun TweetBarPreview() {
TweetBar {}
}
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 9, 2020 13:46
Pass click listener to the TweetBar component
@Composable
fun TweetBar(navigationClick: () -> Unit) {
TopAppBar(
title = {
Text("Tweetish")
},
navigationIcon = {
IconButton(onClick = navigationClick) {
Icon(asset = vectorResource(id = R.drawable.ic_nav_drawer))
}
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 7, 2020 12:56
Simplified, multi-modifier usage
fun ActionRow(
// ActionRow parameters collapsed
) {
val context = ContextAmbient.current
Row(
modifier = Modifier.fillMaxWidth().padding(8.dp),
arrangement = Arrangement.SpaceAround
){
// Row contents collapsed
}
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 7, 2020 12:54
Adding new Modifier function calls
fun ActionRow(
// ActionRow parameters collapsed
) {
val context = ContextAmbient.current
Row(
modifier = Modifier.fillMaxWidth() + Modifier.padding(8.dp),
arrangement = Arrangement.SpaceAround
){
// Row contents collapsed
}
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 7, 2020 12:49
Modifier.preferredSize usage
@Composable
fun Share(onClick : () -> Unit) {
val icon = vectorResource(R.drawable.ic_share)
IconButton(
onClick = onClick,
modifier = Modifier.preferredSize(24.dp)
) {
Icon(
asset = icon,
modifier = Modifier.preferredSize(24.dp, 24.dp),
@BrianGardnerAtl
BrianGardnerAtl / MainActivity.kt
Created April 7, 2020 12:47
Four argument Modifier.padding call
@Composable
fun DisplayName(name: String) {
Text(
text = name,
modifier = Modifier.padding(0.dp, 0.dp, 8.dp, 0.dp),
style = TextStyle(
color = Color.Black,
fontSize = 12.sp,
fontWeight = FontWeight.Bold
)