QuantityPicker is compose component to add/remove anything
- To implement QuantityPicker to your Android project via Gradle, you need to add JitPack repository to your root/project level build.gradle.
allprojects {
repositories { ... maven { url 'https://jitpack.io' } }}
- After adding JitPack repository, you can add QuantityPicker dependency to your app/module level build.gradle.
dependencies {
implementation 'com.github.selimtoksal:QuantityPicker:0.0.1'
}
You can add QuantityPicker wherever you want with your modifier
quantityPickerShape attribute defines background of your QuantityPicker and border
Attribute | Type | Description |
---|---|---|
modifier | Modifier | Compose modifier for QuantityPicker |
quantityTextModifier | Modifier | Compose modifier for quantity text. if you need background or custom modifier etc. |
textStyle | TextStyle | Text style for quantity text |
addIconResId | Int | Drawable for add button |
subtractIconResId | Int | Drawable for subtract button |
removeIconResId | Int | Drawable for remove button. Visible if it is null and current quantity is 1 |
quantityPickerShape | QuantityPickerShape | Background of all view also defines border if it is not null |
quantityData | QuantityData | Quantity values. It has min,max,current and postfix |
showLoading | Boolean | Loading state |
addIconContentDescription | String | contentDescription for add button |
subtractIconContentDescription | String | contentDescription for subtract button |
progressColor | Color | Color for loading progress indicator |
onAddClick | (() -> Unit) | Listener for add button clicks |
onSubtractClick | (() -> Unit) | Listener for subtract clicks |
If you don't need any customization
QuantityPicker(
quantityData = quantityData,
addIconResId = R.drawable.ic_plus,
subtractIconResId = R.drawable.ic_minus,
removeIconResId = R.drawable.ic_remove,
showLoading = isLoading,
onAddClick = { },
onSubtractClick = { }
)
If you need background or custom modifier for quantity text and all view
QuantityPicker(
textStyle = Typography.body2,
quantityData = quantityData,
addIconResId = R.drawable.ic_plus,
subtractIconResId = R.drawable.ic_minus,
quantityPickerShape = QuantityPickerShape(
shape = RoundedCornerShape(50),
borderColor = MyQuantityPickerPrimaryColor,
borderWidth = 1.dp
),
removeIconResId = R.drawable.ic_remove,
quantityTextModifier = Modifier
.background(
color = MyQuantityPickerPrimaryColor,
shape = CircleShape
)
.padding(vertical = 4.dp, horizontal = 8.dp),
showLoading = isLoading,
progressColor = MyQuantityPickerPrimaryColor,
onAddClick = { },
onSubtractClick = { }
)
Feel free to contribute
This library is inspired by QuantityPickerView in Trendyol android-ui-components