RatingBar(레이팅 바)
public class RatingBar
extends AbsSeekBar
RatingBar는 SeekBar와 ProgressBar를 확장해 별모양으로 점수(Rating)를 표시합니다. 사용자는 기본 크기의 RatingBar를 사용할 때 터치하거나 드래그, 화살표 버튼을 이용해 점수를 입력할 수 있습니다. 작은 RatingBar 스타일 (ratingBarStyleSmall)과 표시 전용(Indicator-only) 스타일은 사용자가 제어할 수 없습니다.
사용자가 제어할 수 있는 RatingBar를 사용할 때 RatingBar 좌우에 다른 위젯을 배치하는것은 권장하지 않습니다.
setNumStarts나 XML layout을 통해 지정된 별의 갯수는 layout_width 속성이 wrap_content로 설정되었을때 보이게 됩니다. (만약 layout_width가 다르게 지정되어있을때의 결과는 예측할 수 없습니다.
ProgressBar를 상속해 생기게되는 secondray progress는 부분적으로 채워진 별을 위해서 내부적으로 사용되기 때문에 수정되어선 안됩니다.
요약
중첨 클래스 | |
---|---|
interface | RatingBar. 클라이언트에 언제 점수가 변경되었는지를 알려주는 callback 입니다. |
XML 특성 | |
---|---|
android:isIndicator | 이 RatingBar가 indicator(변경할 수 있는지)인지를 지정합니다. |
보여질 별의 갯수를 지정합니다. | |
android:rating | 기본적으로 설정될 점수입니다. |
android:stepSize | 별이 증가하는 숫자의 단위를 의미합니다. |
상속받은 XML 속성 | |
---|---|
상속받은 상수 |
---|
상속받은 필드 |
---|
Public 생성자 | |
---|---|
RatingBar(Context context, | |
RatingBar(Context context, | |
RatingBar(Context context, | |
RatingBar(Context context) |
Public 메소드 | |
---|---|
CharSequence | getAccessibilityClassName() 오브젝트의 클래스 이름을 반환합니다. |
int | getNumStars() 보여지고있는 별의 갯수를 반환합니다. |
RatingBar. | getOnRatingBarChangeListener() |
float | getRating() 현재의 점수(채워진 별의 갯수)를 반환합니다. |
float | getStepSize() RatingBar의 Step size를 반환합니다. |
boolean | isIndicator() |
void | setIsIndicator(boolean isIndicator) 이 Rating bar를 Indicator(변경 불가능하게)만들것인지를 설정합니다. |
void | setMax(int max) Progress bar의 최대값을 설정합니다. |
void | setNumStars(int numStars) 보여지게 될 별의 갯수를 설정합니다. |
void | setOnRatingBarChangeListener(RatingBar. 점수(Rating)이 변화할 때 불려질 Listener를 설정합니다. |
void | setRating(float rating) 채워질 별의 갯수(Rating)을 설정합니다. |
void | setStepSize(float stepSize) 이 RatingBar의 단위(Step Size)를 설정합니다. |
Protected 메소드 | |
---|---|
void | onMeasure(int widthMeasureSpec, 너비와 높이를 결정하기 위해 뷰를 측정합니다. |
상속받은 메소드 | |
---|---|
XML 속성
android:isIndicator
이 RatingBar가 Indicator(표시자)인지를 설정합니다. (true나 false)
관련된 메소드:
android:numStars
int값으로 보여질 별의 갯수를 설정합니다.
android:rating
float 값으로 점수(rating)를 설정합니다.
android:stepSize
float 값으로 별의 단위(Step size)를 설정합니다.
Public 생성자
RatingBar
public RatingBar (Context context, AttributeSet attrs, int defStyleAttr)
인자 | |
---|---|
context | Context |
attrs | AttributeSet |
defStyleAttr | int |
RatingBar
public RatingBar (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
인자 | |
---|---|
context | Context |
attrs | AttributeSet |
defStyleAttr | int |
defStyleRes | int |
RatingBar
public RatingBar (Context context, AttributeSet attrs)
인자 | |
---|---|
context | Context |
attrs | AttributeSet |
Public 메소드
getAccessibilityClassName
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 |
getOnRatingBarChangeListener
public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ()
반환값 | |
---|---|
RatingBar. | 점수(Rating)이 변화하는것을 인지하는 Listener를 반환합니다. |
getStepSize
public float getStepSize ()
이 RatingBar의 단위(StepSize)를 반환합니다.
반환값 | |
---|---|
float | 단위(StepSize) |
isIndicator
public boolean isIndicator ()
관련된 XML 속성:
반환값 | |
---|---|
boolean | 이 RatingBar가 Indicator(변경 불가능한 표시자)인지를 반환합니다. |
setIsIndicator
public void setIsIndicator (boolean isIndicator)
이 RatingBar의 Indicator(변경 불가) 속성을 설정합니다.
Related XML Attributes:
인자 | |
---|---|
isIndicator | boolean : 변경 불가능할지를 지정합니다. |
setMax
public void setMax (int max)
ProgressBar의 최대값을 설정합니다.
인자 | |
---|---|
max | int: ProgressBar의 최대값 |
setNumStars
public void setNumStars (int numStars)
보여질 별의 갯수를 설정합니다. 설정한 별의 갯수를 모두 보이게 하기 위해서 layout_width값을 wrap_contents로 설정하세요.
인자 | |
---|---|
numStars | int : 별의 갯수 |
setOnRatingBarChangeListener
public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)
점수가 변화할때 호출될 Listener를 설정합니다.
인자 | |
---|---|
listener | RatingBar. |
setStepSize
public void setStepSize (float stepSize)
RatingBar의 단위를 설정합니다.
인자 | |
---|---|
stepSize | float : RatingBar의 단위. 예를 들어, 절반의 별을 사용하길 윈한다면 0.5로 설정하세요. |
Protected 메소드
onMeasure
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()
).
인자 | |
---|---|
widthMeasureSpec | int : horizontal space requirements as imposed by the parent. The requirements are encoded withView. . |
heightMeasureSpec | int : vertical space requirements as imposed by the parent. The requirements are encoded withView. . |