/android-roulette-wheel-view

Android draw roulette view

Primary LanguageKotlin

Android Roulette Wheel View Project


roulette_sample_image


소개



사용

Project Gradle

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}



App Gradle

dependencies {
    implementation 'com.github.JhDroid:android-roulette-wheel-view:1.0.0'
}



layout

<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)설정해야 합니다.



Activity

val rouletteData = listOf("JhDroid", "Android", "Blog", "IT", "Developer", "Kotlin", "Java", "Happy")

roulette.apply {
    setRouletteSize(8)
    setRouletteDataList(rouletteData)
}



Rotate result return

  • 결과를 받는 방법
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)
}ㅁ



뷰 적용 및 회전 예(잠시 기다리면 이미지가 나옵니다.)

roulette_sample_image



작업 목록

  • 텍스트를 룰렛 칸에 맞게 회전시키기
  • 12시 방향에 마커 추가 (이미지 or 그리기)
  • 룰렛 뷰 최소 길이 설정 후 wrap_content 설정해도 적용가능하도록 수정 (지금은 match_parent 만..)
  • 사용자 설정을 위한 속성 추가 (생각나는 부분 계속 추가 예정)