[Kotlin Android] 라이브러리를 활용한 Rating Bar 내 Element 변경하기

이현우·2020년 7월 12일
0

Android 기능 구현

목록 보기
4/13
post-thumbnail

이번 프로젝트의 최종 목표

구현 방법

gradle 파일 설정

dependencies {
	implementation 'com.hedgehog.ratingbar:app:1.1.2'
}

app 단위의 gradle 파일 dependencies 태그에 해당 코드를 삽입한다

layout 파일 설정

해당 레이아웃은 ConstraintLayout으로 작성되었음. 이에 유의하여 태그 내 설정에 변화를 주면 됨

<com.hedgehog.ratingbar.RatingBar
        android:id="@+id/ratingbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        //RatingBar 클릭 가능 여부
        hedgehog:clickable = "true"
        //Rating Bar의 요소 갯수
        hedgehog:starCount="5"
        //Rating Bar 요소의 크기 조정
        hedgehog:starImageHeight="90dp"
        hedgehog:starImageWidth="70dp"
        hedgehog:starImagePadding="20dp"
        //해당 요소가 클릭되지(채워지지)않을 때 이미지
        hedgehog:starEmpty = "@drawable/ic_heart_unselected"
        //해당 요소가 클릭될 때 이미지
        hedgehog:starFill="@drawable/ic_heart"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

RatingBar를 설치하고 싶은 뷰에 해당 코드를 삽입한다

혹은 Activity 내에서도 설정이 가능하다

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        ratingbar.setStarFillDrawable(resources.getDrawable(R.drawable.ic_heart))
        ratingbar.setStarEmptyDrawable(resources.getDrawable(R.drawable.ic_heart_unselected))
    }
}

위와 같이 요소가 채워졌을 때/비었을 때 두 가지 경우의 drawable을 설정해서 넣어주면 된다

참고 코드

hedgehog ratingbar
https://github.com/hedge-hog/RatingBar

profile
이현우의 개발 브이로그

0개의 댓글