A ratingbar for jetpack compose
Add in project build.gradle:
repositories {
maven { url 'https://jitpack.io' }
}
// App build.gradle
dependencies {
implementation 'com.github.a914-gowtham:compose-ratingbar:1.3.4'
//mavenCentral
// implementation 'io.github.a914-gowtham:compose-ratingbar:1.2.3'
}
import androidx.compose.runtime.*
var rating: Float by remember { mutableStateOf(3.2f) }
RatingBar(
value = rating,
style = RatingBarStyle.Fill(),
onValueChange = {
rating = it
},
onRatingChanged = {
Log.d("TAG", "onRatingChanged: $it")
}
)
fun RatingBar(
value: Float,
modifier: Modifier = Modifier,
numOfStars: Int = 5,
size: Dp = 32.dp,
spaceBetween: Dp = 6.dp,
isIndicator: Boolean = false,
stepSize: StepSize = StepSize.ONE,
hideInactiveStars: Boolean = false,
style: RatingBarStyle,
onValueChange: (Float) -> Unit,
onRatingChanged: (Float) -> Unit
)
Icon can be changed using painterEmpty
painterFilled
params.
RatingBar(
value = rating,
painterEmpty = painterResource(id = R.drawable.icon_empty),
painterFilled = painterResource(id = R.drawable.icon_filled),
onValueChange = {
rating = it
},
onRatingChanged = {
Log.d("TAG", "onRatingChanged: $it")
}
)
- Forked from compose-rating-bar
- Current version of the library only supports Stepsize 1f and 0.5f when click or drag. However, Initial Rating value could be any float value like 3.8 etc.
Give a ⭐️ if this project helped you!