Android custom component that displays a lucky wheel. it features easy customize of colors , text and addition of items and it's very trivial to integrate in your application.
- Fix the image rotation issue
Sample
Installing
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.mmoamenn:LuckyWheel_Android:0.3.0'
}
XML
<com.bluehomestudio.luckywheel.LuckyWheel
android:id="@+id/lwv"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_centerInParent="true"
LuckyWheel:background_color="@color/colorPrimary" />
You must use the following properties in your XML
Choose the background color
LuckyWheel:background_color
Choose wheel image arrow
LuckyWheel:arrow_image
Change item image padding
LuckyWheel:image_padding
Kotlin
Functions to use after reference the Lucky wheel
- Create wheel sections
val wheelItems: MutableList<WheelItem> = ArrayList()
wheelItems.add(WheelItem(Color.LTGRAY,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name),
"text 1"))
wheelItems.add(WheelItem(Color.BLUE,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name),
"text 2"))
wheelItems.add(WheelItem(Color.BLACK,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name),
"text 3"))
wheelItems.add(WheelItem(Color.GRAY,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name)
,"text 4"))
wheelItems.add(WheelItem(Color.RED,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name),
"text 5"))
wheelItems.add(WheelItem(Color.BLACK,
BitmapFactory.decodeResource(resources, R.drawable.ic_action_name),
"text 6"))
- Add sections to wheel
addWheelItems(wheelItems)
- Rotate by touch -- set target before user touch wheel
setTarget(3)
- Rotate to section -- not need if you will use touch
rotateWheelTo(2)
- On target reach listener
lwv.setLuckyWheelReachTheTarget {
}
Last version before support AndroidX com.github.mmoamenn:LuckyWheel_Android:0.1.2