Android Roulette Wheel View Project
- Android Roulette Wheel View
- 안드로이드에서 사용할 수 있는 룰렛 뷰 입니다.
- 회전 기능을 제공하고 회전 후 결과를 리턴받을 수 있습니다.
- 개발 과정
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.JhDroid:android-roulette-wheel-view:1.0.0'
}
<androidx.constraintlayout.widget.ConstraintLayout
<com.jhdroid.view.Roulette
android:id="@+id/roulette"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
- (필수)
height
속성은 match_parent
(ConstraintLayout은 0dp
)설정해야 합니다.
val rouletteData = listOf("JhDroid", "Android", "Blog", "IT", "Developer", "Kotlin", "Java", "Happy")
roulette.apply {
setRouletteSize(8)
setRouletteDataList(rouletteData)
}
fun rotateRoulette() {
val rouletteListener = object : RotateListener {
override fun onRotateStart() {
// rotate animation start
}
override fun onRotateEnd(result: String) {
// rotate animation end
}
}
// random degrees (options)
val toDegrees = (2000..10000).random().toFloat()
roulette.rotateRoulette(toDegrees, 4000, rouletteListener)
}ㅁ
뷰 적용 및 회전 예(잠시 기다리면 이미지가 나옵니다.)
- 텍스트를 룰렛 칸에 맞게 회전시키기
12시 방향에 마커 추가 (이미지 or 그리기)
- 룰렛 뷰 최소 길이 설정 후 wrap_content 설정해도 적용가능하도록 수정 (지금은 match_parent 만..)
- 사용자 설정을 위한 속성 추가 (생각나는 부분 계속 추가 예정)