This is a very simple RatingBar library, which you can just simply extend BaseRatingBar to implement your own animation RatingBar in a few steps!
Current we already have three RatingBars :
- BaseRatingBar
A RatingBar without any animation. - ScaleRatingBar
A RatingBar with progressive and scale animation. - RotationRatingBar (contributed by nappannda)
A RatingBar with progressive and rotate animation.
Icon made by Freepik from www.flaticon.com
- Support use touch to change rating
- Custom drawable's padding
- Custom your empty and filled drawable
- Click again to clear rating
- Rotate animation
- Scale animation
from JitPack:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.ome450901:SimpleRatingBar:1.1'
}
<com.willy.ratingbar.ScaleRatingBar
xmlns:rb="http://schemas.android.com/apk/res-auto"
android:id="@+id/simpleRatingBar5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
rb:numStars="3"
rb:rating="2"
rb:starPadding="15"
rb:drawableEmpty="@drawable/start_empty"
rb:drawableFilled="@drawable/star_filled">
</com.willy.ratingbar.ScaleRatingBar>
ScaleRatingBar ratingBar = new ScaleRatingBar(this);
ratingBar.setNumStars(5);
ratingBar.setRating(3);
ratingBar.setStarPadding(10);
ratingBar.setEmptyDrawableRes(R.drawable.start_empty);
ratingBar.setFilledDrawableRes(R.drawable.start_empty);
ratingBar.setOnRatingChangeListener(new BaseRatingBar.OnRatingChangeListener() {
@Override
public void onRatingChange(BaseRatingBar ratingBar, int rating) {
Log.e(TAG, "onRatingChange: " + rating);
}
});
- Create a class that extend
BaseRatingBar
- Override the
emptyRatingBar
andfillRatingBar
this two method, and then you can start implement your own animaion!
You can follow ScaleRatingBar to implement your own class.
- Support float rating
- Implement some other animations
- Find a better way to implement animation
Welcome to follow me on Medium.