Accordingly to the official documentation, a RatingBar is an extension of SeekBar and ProgressBar that shows a rating in stars.
Android RatingBar – basic example
Code:
<RatingBar android:id="@+id/rating_bar_basic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:rating="3.5" android:stepSize="0.5" />
Result:

Read-only RatingBar
It is used just to show current rating. If “isIndicator” is false it will allow the user to edit the rating.
Code:
<RatingBar android:id="@+id/rating_bar_indicator" style="@style/Widget.AppCompat.RatingBar.Indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/space_16" android:numStars="5" android:rating="3.5" android:stepSize="0.5" />
Result:

Small RatingBar
By default it will act just like Indicator one, but if “isIndicator” is false it will allow the user to edit the rating.
Code:
<RatingBar android:id="@+id/rating_bar_small" style="@style/Widget.AppCompat.RatingBar.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/space_16" android:isIndicator="false" android:numStars="5" android:rating="3.5" android:stepSize="0.5" />
Result: (the 3rd one)

RatingBar Change Listener
Code:
RatingBar ratingBar = findViewById(R.id.rating_bar_basic); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float v, boolean b) { Toast.makeText(RatingBarActivity.this, getString(R.string.current_rating) + ratingBar.getRating(), Toast.LENGTH_SHORT).show(); } });
Result:
