본문 바로가기

나의 플랫폼/안드로이드

[Android] Half ratingbar

RatingBar라는 좋은 UI가 안드로이드에 있다.


이 RatingBar에 반만 색을 칠하거나 소숫점 단위로 표현하고자 할 경우,

ratingbar xml을 아래와 같이 설정 하면 끝이다!!


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/star_empty" />

<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_empty" />

<item android:id="@android:id/progress"
android:drawable="@drawable/star_full" />

</layer-list>

중요한 부분은!! secondaryProgress 에 star_empty라는 비어있는 이미지를 넣는 것이다.

참고 : http://stackoverflow.com/a/23887330/3534559


위 같이 커스텀된 RatingBar background를 아래와 같이 설정하면 된다.

<style name="customRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/custom_ratingbar</item>
</style>


<RatingBar
android:id="@+id/star_point_"
style="@style/customRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="10"
android:rating="0"
android:stepSize="0.5"
/>