Most visited

Recently visited

Added in API level 1

RatingBar

public class RatingBar
extends AbsSeekBar

java.lang.Object
   ↳ android.view.View
     ↳ android.widget.ProgressBar
       ↳ android.widget.AbsSeekBar
         ↳ android.widget.RatingBar
Known Direct Subclasses


RatingBar是SeekBar和ProgressBar的扩展,显示星星的评分。 使用默认尺寸RatingBar时,用户可以触摸/拖动或使用箭头键设置评分。 较小的RatingBar样式( ratingBarStyleSmall )和较大的仅指示样式( ratingBarStyleIndicator )不支持用户交互,只应将其用作指示符。

当使用支持用户交互的RatingBar时,不鼓励将评估栏放在评分栏左侧或右侧。

当布局宽度设置为包装内容时(如果设置了另一个布局宽度,结果可能无法预测),将显示恒星数量(通过 setNumStars(int)或XML布局)。

次要进度不应该由客户修改,因为它在内部用作分数星星的背景。

Summary

Nested classes

interface RatingBar.OnRatingBarChangeListener

当评级已更改时通知客户的回调。

XML attributes

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. 

Inherited XML attributes

From class android.widget.AbsSeekBar
From class android.widget.ProgressBar
From class android.view.View

Inherited constants

From class android.view.View

Inherited fields

From class android.view.View

Public constructors

RatingBar(Context context, AttributeSet attrs, int defStyleAttr)
RatingBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
RatingBar(Context context, AttributeSet attrs)
RatingBar(Context context)

Public methods

CharSequence getAccessibilityClassName()

返回此对象的类名称以用于辅助功能。

int getNumStars()

返回显示的星星数量。

RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener()
float getRating()

获取当前评分(填充的星星数量)。

float getStepSize()

获取此评级栏的步长。

boolean isIndicator()
void setIsIndicator(boolean isIndicator)

该评级栏是否应该只是一个指标(因此用户不可更改)。

void setMax(int max)

将进度条的范围设置为0 ...

void setNumStars(int numStars)

设置要显示的星星数量。

void setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener listener)

设置要在评级更改时调用侦听器。

void setRating(float rating)

设定评分(填满星星的数量)。

void setStepSize(float stepSize)

设置此评级栏的步长(粒度)。

Protected methods

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

Inherited methods

From class android.widget.AbsSeekBar
From class android.widget.ProgressBar
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android:isIndicator

该评级栏是否是一个指标(用户不可更改)。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 isIndicator

相关方法:

android:numStars

要显示的星号(或评级项目)的数量。

必须是整数值,例如“ 100 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 numStars

android:rating

默认设置的评级。

必须是浮点值,例如“ 1.2 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 rating

android:stepSize

评级的步长。

必须是浮点值,例如“ 1.2 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 stepSize

Public constructors

RatingBar

Added in API level 1
RatingBar (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

RatingBar

Added in API level 21
RatingBar (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context
attrs AttributeSet
defStyleAttr int
defStyleRes int

RatingBar

Added in API level 1
RatingBar (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

RatingBar

Added in API level 1
RatingBar (Context context)

Parameters
context Context

Public methods

getAccessibilityClassName

Added in API level 23
CharSequence getAccessibilityClassName ()

返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName

Returns
CharSequence

getNumStars

Added in API level 1
int getNumStars ()

返回显示的星星数量。

Returns
int The number of stars shown.

getOnRatingBarChangeListener

Added in API level 1
RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ()

Returns
RatingBar.OnRatingBarChangeListener The listener (may be null) that is listening for rating change events.

getRating

Added in API level 1
float getRating ()

获取当前评分(填充的星星数量)。

Returns
float The current rating.

getStepSize

Added in API level 1
float getStepSize ()

获取此评级栏的步长。

Returns
float The step size.

isIndicator

Added in API level 1
boolean isIndicator ()

相关XML属性:

Returns
boolean Whether this rating bar is only an indicator.

setIsIndicator

Added in API level 1
void setIsIndicator (boolean isIndicator)

该评级栏是否应该只是一个指标(因此用户不可更改)。

相关XML属性:

Parameters
isIndicator boolean: Whether it should be an indicator.

setMax

Added in API level 1
void setMax (int max)

将进度条的范围设置为0 ... max

Parameters
max int: the upper range of this progress bar

setNumStars

Added in API level 1
void setNumStars (int numStars)

设置要显示的星星数量。 为了正确显示这些部件,建议将此部件的布局宽度作为包装内容。

Parameters
numStars int: The number of stars.

setOnRatingBarChangeListener

Added in API level 1
void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)

设置要在评级更改时调用侦听器。

Parameters
listener RatingBar.OnRatingBarChangeListener: The listener.

setRating

Added in API level 1
void setRating (float rating)

设定评分(填满星星的数量)。

Parameters
rating float: The rating to set.

setStepSize

Added in API level 1
void setStepSize (float stepSize)

设置此评级栏的步长(粒度)。

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

Protected methods

onMeasure

Added in API level 1
void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时,您必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

Hooray!