Android Roulette Wheel View Project
- Android Roulette Wheel View
- library development post - 개발과정 (Korean)
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.JhDroid:android-roulette-wheel-view:{version}'
}
<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>
- setup
android:layout_height
is match_parent
(or ConstraintLayout : 0dp
)
- (필수)
height
속성은 match_parent
(ConstraintLayout은 0dp
)설정해야 합니다.
val rouletteData = listOf("JhDroid", "Android", "Blog", "IT", "Developer", "Kotlin", "Java", "Happy")
roulette.apply {
setRouletteSize(8) // 2 ~ 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)
}
/**
* 룰렛 회전 함수
* @param toDegrees : end angle (start angle is '0')
* @param duration : rotate duration
* @param rotateListener : rotate anim start, end listener (선택)
* */
fun rotateRoulette(toDegrees: Float, duration: Long, rotateListener: RotateListener?)