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
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.lazy.LazyRow
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.Chip
|
||||
import androidx.compose.material.ChipColors
|
||||
import androidx.compose.material.ChipDefaults
|
||||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Shape
|
||||
import androidx.compose.ui.unit.dp
|
||||
@ -46,3 +44,43 @@ 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