개발/Android

RatingBar(레이팅바) 안드로이드 문서 번역 & 정리

유르디 2018. 12. 14. 01:51

RatingBar(레이팅 바)

public class RatingBar 
extends AbsSeekBar 

레이팅바는 Object - View - ProgressBar - AbsSeekBar를 상속받는다.


RatingBar는 SeekBar와 ProgressBar를 확장해 별모양으로 점수(Rating)를 표시합니다. 사용자는 기본 크기의 RatingBar를 사용할 때 터치하거나 드래그, 화살표 버튼을 이용해 점수를 입력할 수 있습니다. 작은 RatingBar 스타일 (ratingBarStyleSmall)과 표시 전용(Indicator-only) 스타일은 사용자가 제어할 수 없습니다.

사용자가 제어할 수 있는 RatingBar를 사용할 때 RatingBar 좌우에 다른 위젯을 배치하는것은 권장하지 않습니다.

setNumStarts나 XML layout을 통해 지정된 별의 갯수는 layout_width 속성이 wrap_content로 설정되었을때 보이게 됩니다. (만약 layout_width가 다르게 지정되어있을때의 결과는 예측할 수 없습니다.

ProgressBar를 상속해 생기게되는 secondray progress는 부분적으로 채워진 별을 위해서 내부적으로 사용되기 때문에 수정되어선 안됩니다.

요약

중첨 클래스

interfaceRatingBar.OnRatingBarChangeListener

클라이언트에 언제 점수가 변경되었는지를 알려주는 callback 입니다.

XML 특성

android:isIndicator

이 RatingBar가 indicator(변경할 수 있는지)인지를 지정합니다.

android:numStars

보여질 별의 갯수를 지정합니다.
android:rating

기본적으로 설정될 점수입니다.

android:stepSize

별이 증가하는 숫자의 단위를 의미합니다.

상속받은 XML 속성

상속받은 상수

상속받은 필드

Public 생성자

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 메소드

CharSequencegetAccessibilityClassName()

오브젝트의 클래스 이름을 반환합니다.

intgetNumStars()

보여지고있는 별의 갯수를 반환합니다.

RatingBar.OnRatingBarChangeListenergetOnRatingBarChangeListener()
floatgetRating()

현재의 점수(채워진 별의 갯수)를 반환합니다.

floatgetStepSize()

RatingBar의 Step size를 반환합니다.

booleanisIndicator()

사용자가 변경 가능한 값인지(true일경우 불가능)를 반환합니다.
voidsetIsIndicator(boolean isIndicator)

이 Rating bar를 Indicator(변경 불가능하게)만들것인지를 설정합니다.

voidsetMax(int max)

Progress bar의 최대값을 설정합니다.

voidsetNumStars(int numStars)

보여지게 될 별의 갯수를 설정합니다.

voidsetOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener listener)

점수(Rating)이 변화할 때 불려질 Listener를 설정합니다.

voidsetRating(float rating)

채워질 별의 갯수(Rating)을 설정합니다.

voidsetStepSize(float stepSize)

이 RatingBar의 단위(Step Size)를 설정합니다.

Protected 메소드

voidonMeasure(int widthMeasureSpec, int heightMeasureSpec)

너비와 높이를 결정하기 위해 뷰를 측정합니다.

XML 속성

android:isIndicator

이 RatingBar가 Indicator(표시자)인지를 설정합니다. (true나 false)

관련된 메소드:

android:numStars

int값으로 보여질 별의 갯수를 설정합니다.


android:rating

float 값으로 점수(rating)를 설정합니다.

android:stepSize

float 값으로 별의 단위(Step size)를 설정합니다.

Public 생성자

RatingBar

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

인자
contextContext

attrsAttributeSet

defStyleAttrint

RatingBar

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

인자
contextContext

attrsAttributeSet

defStyleAttrint

defStyleResint

RatingBar

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

인자
contextContext

attrsAttributeSet

RatingBar

added in API level 1
public RatingBar (Context context)

인자
contextContext

Public 메소드

getAccessibilityClassName

added in API level 23
public CharSequence getAccessibilityClassName ()

Return the class name of this object to be used for accessibility purposes. Subclasses should only override this if they are implementing something that should be seen as a completely new class of view when used by accessibility, unrelated to the class it is deriving from. This is used to fill in AccessibilityNodeInfo.setClassName.

반환값
CharSequence

getNumStars

added in API level 1
public int getNumStars ()

보여지는 별의 갯수를 반환합니다.

반환값
int

보여지고 있는 별의 갯수

getOnRatingBarChangeListener

added in API level 1
public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ()

반환값
RatingBar.OnRatingBarChangeListener

점수(Rating)이 변화하는것을 인지하는 Listener를 반환합니다.

getRating

added in API level 1
public float getRating ()

현재의 점수를 반환합니다.

반환값
float현재의 점수

getStepSize

added in API level 1
public float getStepSize ()

이 RatingBar의 단위(StepSize)를 반환합니다.

반환값
float

단위(StepSize)

isIndicator

added in API level 1
public boolean isIndicator ()

관련된 XML 속성:

반환값
boolean이 RatingBar가 Indicator(변경 불가능한 표시자)인지를 반환합니다.

setIsIndicator

added in API level 1
public void setIsIndicator (boolean isIndicator)

이 RatingBar의 Indicator(변경 불가) 속성을 설정합니다.

Related XML Attributes:

인자

isIndicatorboolean: 변경 불가능할지를 지정합니다.

setMax

added in API level 1
public void setMax (int max)

ProgressBar의 최대값을 설정합니다.

인자
maxint: ProgressBar의 최대값

setNumStars

added in API level 1
public void setNumStars (int numStars)

보여질 별의 갯수를 설정합니다. 설정한 별의 갯수를 모두 보이게 하기 위해서 layout_width값을 wrap_contents로 설정하세요.

인자
numStarsint: 별의 갯수

setOnRatingBarChangeListener

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

점수가 변화할때 호출될 Listener를 설정합니다.

인자
listenerRatingBar.OnRatingBarChangeListener: 리스너

setRating

added in API level 1
public void setRating (float rating)

점수를 설정합니다.

인자
ratingfloat: 설정할 점수

setStepSize

added in API level 1
public void setStepSize (float stepSize)

RatingBar의 단위를 설정합니다.

인자
stepSizefloat: RatingBar의 단위. 예를 들어, 절반의 별을 사용하길 윈한다면 0.5로 설정하세요.

Protected 메소드

onMeasure

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

너비와 높이를 설정하기 위해 View와 내용물을 측정합니다. 이 메소드는 measure(int, int)로 호출되며 정확하고 효과적인 측정을 위한 하위 클래스들이 오버라이드할 수 있습니다.

CONTRACT: 이 메소드를 오버라이드 할 때, 반드시 setMeasuredDimension(int, int)를 호출해 이 뷰의 측정된 너비와 높이값을 저장해야 합니다. 실패할경우 measure(int, int)에 의해 IllegalStateException을 반환합니다. 상위 클래스의 onMeasure(int, int)을 호출하는것은 가능합니다.

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.

만약 이 메소드가 오버라이드되었다면, 하위 클래스는 측정된 높이와 너비가 적어도 뷰의 최소 높이와 너비 이상이 되어야 합니다. (getSuggestedMinimumHeight() 와getSuggestedMinimumWidth()).

인자
widthMeasureSpecint: horizontal space requirements as imposed by the parent. The requirements are encoded withView.MeasureSpec.

heightMeasureSpecint: vertical space requirements as imposed by the parent. The requirements are encoded withView.MeasureSpec.