mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Add: SelectableChipRow
This commit is contained in:
parent
efc352c08f
commit
cb93e62544
@ -1,16 +1,14 @@
|
|||||||
package com.looker.droidify.ui.compose.utils
|
package com.looker.droidify.ui.compose.utils
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
import androidx.compose.foundation.lazy.LazyRow
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.Chip
|
import androidx.compose.material.*
|
||||||
import androidx.compose.material.ChipColors
|
|
||||||
import androidx.compose.material.ChipDefaults
|
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Shape
|
import androidx.compose.ui.graphics.Shape
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@ -45,4 +43,44 @@ fun ChipRow(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalMaterialApi::class)
|
||||||
|
@Composable
|
||||||
|
fun SelectableChipRow(
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
list: List<String>,
|
||||||
|
chipColors: SelectableChipColors = ChipDefaults.filterChipColors(
|
||||||
|
backgroundColor = MaterialTheme.colorScheme.surface,
|
||||||
|
contentColor = MaterialTheme.colorScheme.onSurface,
|
||||||
|
selectedBackgroundColor = MaterialTheme.colorScheme.primary,
|
||||||
|
selectedContentColor = MaterialTheme.colorScheme.onPrimary
|
||||||
|
),
|
||||||
|
shapes: Shape = RoundedCornerShape(50),
|
||||||
|
onClick: (String) -> Unit
|
||||||
|
) {
|
||||||
|
var selected by remember { mutableStateOf(list[0]) }
|
||||||
|
|
||||||
|
LazyRow(
|
||||||
|
modifier = modifier,
|
||||||
|
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
|
contentPadding = PaddingValues(horizontal = 8.dp)
|
||||||
|
) {
|
||||||
|
items(list) {
|
||||||
|
FilterChip(
|
||||||
|
shape = shapes,
|
||||||
|
colors = chipColors,
|
||||||
|
selected = it == selected,
|
||||||
|
onClick = {
|
||||||
|
onClick(it)
|
||||||
|
selected = it
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Text(
|
||||||
|
text = it,
|
||||||
|
color = chipColors.contentColor(enabled = true, selected = it == selected).value
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user