Android
android.widget
public class

android.widget.RatingBar

java.lang.Object
android.view.View Drawable.Callback KeyEvent.Callback
android.widget.ProgressBar
android.widget.AbsSeekBar
android.widget.RatingBar

A RatingBar is an extension of SeekBar and ProgressBar that shows a rating in stars. The user can touch and/or drag to set the rating when using the default size RatingBar. The smaller RatingBar style (ratingBarStyleSmall) and the larger indicator-only style (ratingBarStyleIndicator) do not support user interaction and should only be used as indicators.

The number of stars set (via setNumStars(int) or in an XML layout) will be shown when the layout width is set to wrap content (if another layout width is set, the results may be unpredictable).

The secondary progress should not be modified by the client as it is used internally as the background for a fractionally filled star.

Nested Classes
RatingBar.OnRatingBarChangeListener A callback that notifies clients when the rating has been changed. 

Summary

XML Attributes

Attribute name Related methods  
android:isIndicator   Whether this rating bar is an indicator (and non-changeable by the user). 
android:numStars   The number of stars (or rating items) to show. 
android:rating   The rating to set by default. 
android:stepSize   The step size of the rating. 
XML Attributes inherited from class android.widget.ProgressBar
XML Attributes inherited from class android.view.View
Constants inherited from class android.view.View
Fields inherited from class android.view.View

Public Constructors

            RatingBar(Context context, AttributeSet attrs, int defStyle)
            RatingBar(Context context, AttributeSet attrs)
            RatingBar(Context context)

Public Methods

          int  getNumStars()
Returns the number of stars shown.
          RatingBar.OnRatingBarChangeListener  getOnRatingBarChangeListener()
          float  getRating()
Gets the current rating (number of stars filled).
          float  getStepSize()
Gets the step size of this rating bar.
          boolean  isIndicator()
          void  setIsIndicator(boolean isIndicator)
Whether this rating bar should only be an indicator (thus non-changeable by the user).
  synchronized        void  setMax(int max)

Set the range of the progress bar to 0...

          void  setNumStars(int numStars)
Sets the number of stars to show.
          void  setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener listener)
Sets the listener to be called when the rating changes.
          void  setRating(float rating)
Sets the rating (the number of stars filled).
          void  setStepSize(float stepSize)
Sets the step size (granularity) of this rating bar.

Protected Methods

  synchronized        void  onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

Methods inherited from class android.widget.AbsSeekBar
Methods inherited from class android.widget.ProgressBar
Methods inherited from class android.view.View
Methods inherited from class java.lang.Object
Methods inherited from interface android.graphics.drawable.Drawable.Callback
Methods inherited from interface android.view.KeyEvent.Callback

Details

XML Attributes

android:isIndicator

Whether this rating bar is an indicator (and non-changeable by the user).

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol isIndicator.

Related Methods

android:numStars

The number of stars (or rating items) to show.

Must be an integer value, such as "100".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol numStars.

Related Methods

android:rating

The rating to set by default.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol rating.

Related Methods

android:stepSize

The step size of the rating.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol stepSize.

Related Methods

Public Constructors

public RatingBar(Context context, AttributeSet attrs, int defStyle)

public RatingBar(Context context, AttributeSet attrs)

public RatingBar(Context context)

Public Methods

public int getNumStars()

Returns the number of stars shown.

Returns

  • The number of stars shown.

public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener()

Returns

  • The listener (may be null) that is listening for rating change events.

public float getRating()

Gets the current rating (number of stars filled).

Returns

  • The current rating.

public float getStepSize()

Gets the step size of this rating bar.

Returns

  • The step size.

public boolean isIndicator()

Returns

  • Whether this rating bar is only an indicator.

public void setIsIndicator(boolean isIndicator)

Whether this rating bar should only be an indicator (thus non-changeable by the user).

Parameters

isIndicator Whether it should be an indicator.

public synchronized void setMax(int max)

Set the range of the progress bar to 0...max.

Parameters

max the upper range of this progress bar

public void setNumStars(int numStars)

Sets the number of stars to show. In order for these to be shown properly, it is recommended the layout width of this widget be wrap content.

Parameters

numStars The number of stars.

public void setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener listener)

Sets the listener to be called when the rating changes.

Parameters

listener The listener.

public void setRating(float rating)

Sets the rating (the number of stars filled).

Parameters

rating The rating to set.

public void setStepSize(float stepSize)

Sets the step size (granularity) of this rating bar.

Parameters

stepSize The step size of this rating bar. For example, if half-star granularity is wanted, this would be 0.5.

Protected Methods

protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overriden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters

widthMeasureSpec horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48