• Stars
    star
    256
  • Rank 159,219 (Top 4 %)
  • Language
    Java
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

自定义Android原生转盘抽奖demo

WheelSurfLibrary


特点概述

一、可以直接暴力使用,直接给一张底图和一个"开始旋转"的按钮就可以了,但是请保证你的底图是圆形的,背景是透明的,而且底图的扇形分区是均等份的,否则后果自负。

二、当然你也可以自定义一些东西:

  • 自定义文字描述
  • 自定义分区个数
  • 自定义每个扇形里面的图标展示
  • 自定义中间的"开始旋转"按钮的图片
  • 自定义旋转的最低圈数
  • 自定义每个扇形的旋转时间
  • 自定义每个扇形的背景颜色
  • 自定义圆环的图片
  • 。。。

三、注意点

  • 1、在使用暴利模式的时候,分区个数请务必与你提供的底盘上的分区个数一致,并且,请保证你提供的底图是圆的,背景是透明的,而且每个分区是均等分的

  • 2、在使用自定义模式时:请保证文字描述,图标,背景颜色的集合长度是一样的,并且长度与分类个数一致typenum

  • 3、重要的事情说三遍

       typenum必传
       typenum必传
       typenum必传
    

四、应用户要求,需要实现用代码设置这些属性,现在已实现(更新时间 2018年03月09日14:13:01)

  • 请注意:

       使用这种方式需要在引入布局文件的时候在布局文件中设置mTypeNums = -1 来告诉我你现在要用代码传入这些属性
       使用这种方式需要在引入布局文件的时候在布局文件中设置mTypeNums = -1 来告诉我你现在要用代码传入这些属性
       使用这种方式需要在引入布局文件的时候在布局文件中设置mTypeNums = -1 来告诉我你现在要用代码传入这些属性
    

重要的事情说三遍

例如

   <com.cretin.www.wheelsruflibrary.view.WheelSurfView
         android:id="@+id/wheelSurfView2"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         wheelSurfView:typenum="-1"
         android:layout_margin="20dp">
  • 请注意:

      你在传入所有的图标文件之后需要调用 WheelSurfView.rotateBitmaps() 此方法来处理一下你传入的图片
      你在传入所有的图标文件之后需要调用 WheelSurfView.rotateBitmaps() 此方法来处理一下你传入的图片
      你在传入所有的图标文件之后需要调用 WheelSurfView.rotateBitmaps() 此方法来处理一下你传入的图片
    

重要的事情说三遍

然后调用setConfig()方法来设置你的属性

  • 请注意:

       .setmColors(colors)
       .setmDeses(des)
       .setmIcons(mListBitmap)
       这三个方法中的参数长度必须一致 否则会报运行时异常
    

如果需要此功能,请使用最新的版本

     compile 'com.github.MZCretin:WheelSurfDemo:v1.1.0'

效果预览

额,第二个那种底盘模式,我的图切的不圆,所以。。。

效果图


使用说明


Step 1. Add the JitPack repository to your build file 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 { compile 'com.github.MZCretin:WheelSurfDemo:v1.0.0' }

Step 3. Start using it wherever you want as below.

 <com.cretin.www.wheelsruflibrary.view.WheelSurfView
        android:id="@+id/wheelSurfView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="20dp"
        wheelSurfView:colors="@array/colors"
        wheelSurfView:deses="@array/names"
        wheelSurfView:goImg="@mipmap/node"
        wheelSurfView:huanImg="@mipmap/yuanhuan"
        wheelSurfView:icons="@array/icons"
        wheelSurfView:mainImg="@mipmap/all"
        wheelSurfView:minTimes="3"
        wheelSurfView:textColor="#FF0000"
        wheelSurfView:textSize="16sp"
        wheelSurfView:type="1"
        wheelSurfView:typenum="7"
        wheelSurfView:vartime="75">

    </com.cretin.www.wheelsruflibrary.view.WheelSurfView>

方式一

  • 按照下面的方式引用自定义View
<com.cretin.www.wheelsruflibrary.view.WheelSurfView
            android:id="@+id/wheelSurfView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            wheelSurfView:mainImg="@mipmap/all"
            wheelSurfView:minTimes="3"
            wheelSurfView:type="2"
            wheelSurfView:typenum="7"
            wheelSurfView:vartime="75">

        </com.cretin.www.wheelsruflibrary.view.WheelSurfView>

说明:只需要配置

        wheelSurfView:minTimes="3" 最少转的圈数
        wheelSurfView:type="2" 引用类型 1 默认 正常 2 暴力只设置底盘模式
        wheelSurfView:typenum="7" 分区数量
        wheelSurfView:goImg="@mipmap/node" 开始按钮的图标
        wheelSurfView:vartime="75" 每一个扇形旋转的时间  毫秒

方式二

  • 按照下面的方式引用自定义View
<com.cretin.www.wheelsruflibrary.view.WheelSurfView
            android:id="@+id/wheelSurfView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            wheelSurfView:colors="@array/colors"
            wheelSurfView:deses="@array/names"
            wheelSurfView:goImg="@mipmap/node"
            wheelSurfView:huanImg="@mipmap/yuanhuan"
            wheelSurfView:icons="@array/icons"
            wheelSurfView:minTimes="3"
            wheelSurfView:textColor="#FF0000"
            wheelSurfView:textSize="16sp"
            wheelSurfView:type="1"
            wheelSurfView:typenum="7"
            wheelSurfView:vartime="75">

        </com.cretin.www.wheelsruflibrary.view.WheelSurfView>

说明:只需要配置

        wheelSurfView:colors="@array/colors" 每个扇形背景颜色
        wheelSurfView:deses="@array/names" 每个扇形描述文字
        wheelSurfView:goImg="@mipmap/node" 开始按钮的图标
        wheelSurfView:huanImg="@mipmap/yuanhuan"  圆盘的图片资源
        wheelSurfView:icons="@array/icons" 每个扇形显示的图标
        wheelSurfView:minTimes="3" 最少转的圈数
        wheelSurfView:type="1" 引用类型 1 默认 正常 2 暴力只设置底盘模式
        wheelSurfView:typenum="7" 分区数量
        wheelSurfView:goImg="@mipmap/node" 开始按钮的图标
        wheelSurfView:vartime="75" 每一个扇形旋转的时间  毫秒
        wheelSurfView:textColor="#FF0000" 扇形上文字的颜色
        wheelSurfView:textSize="16sp" 扇形上文字的大小

请把Demo clone下来看更加具体的使用方式。

使用过程中如果有什么问题或者建议 欢迎在issue中提出来或者直接联系我 792075058 嘿嘿

PS:如果显示异常,欢迎移步 Android撸一个转盘抽奖

More Repositories

1

RollToolsApi

一个提供开发中常用数据的一个稳定聚合Api接口源,运行于独立服务器,免费,且长期维护,会持续添加新的接口!【只fork不star是很没品的】
2,990
star
2

ExpandableTextView

实现类似微博内容,@用户,链接高亮,@用户和链接可点击跳转,可展开和收回的TextView
Java
1,324
star
3

AutoUpdateProject

App 内部更新 提供12种更新的样式 支持Android全系统版本 支持自定义UI 断点续传
Java
1,016
star
4

WifiTransfer-master

Android下WIFI隔空apk安装
Java
599
star
5

duanzile-open-api

🔥段子乐开放平台接口,开放段子乐APP所有接口,快来做一个你自己的APP吧~🔥【只Fork不Star是很没品的】
338
star
6

LotteryHelper

一个用于给福彩自动对号的工具,给福彩拍照后自动识别上面的号码,自动从网络获取本期获奖号码,与识别后的号码进行匹配,对比出改彩票是否有中奖号码
Java
196
star
7

ExternalMapUtils

app打开外部百度地图和高德地图进行简单的地图展示 路线规划...
Java
76
star
8

DragDemo

需求解决系列一之移动卡片实现答题功能,移动卡片插入到题干之中完成答题
Java
69
star
9

InputPswDemo

弹出自定义支付密码输入框
Java
60
star
10

CitySelect

城市选择 首字母索引滑动定位 城市搜索
Java
51
star
11

FileBatchModification

Android资源文件批量分类处理 具体使用请看博客
Java
47
star
12

RelativeLayoutDemo

自定义可旋转、平移、缩放的可改变颜色标签
Java
43
star
13

PushHeadDemo

弹出输入框的时候 使用动画效果将输入框网上推
Java
41
star
14

FanPermission

动态权限申请库,总是觉得现有的权限请求框架在使用的过程中没有那么方便,所以自己弄一个给自己用,越简单越好
Java
41
star
15

SuperExpandableListView

ExpandableListView 点击每个group的时候,请求child的数据,然后加载完再展开
Java
39
star
16

ScanCode

一个打开扫描二维码或者条形码的插件,封装好了基础功能,可以开启闪光灯,打开相册扫描,扫描成功之后的提示音,使用zBar而非zXing,个人感觉zXing识别成功率低
Java
32
star
17

HttpUrlConnectionUtilDemo

写小demo的时候,用Android成熟的网络框架有些大炮打蚊子,所以用最简单的方式写了一个网络工具类,注意,这个只是工具类...
Java
31
star
18

WebViewUtils

通用webview跳转封装 一行代码实现webView跳转 支持页面样式配置
Java
27
star
19

ClearEditTextProject

一个三种方式实现的ClearEditText,可清除内容的EditText
Java
25
star
20

Money

毕业设计-记账软件-帮同学做的
Java
19
star
21

SuperCalendarDemo

日历,仿团贷网回款日历!滚动选择月份!开发中使用的一个效果,先写个demo,后面集成进项目中
Java
17
star
22

HealthManager

App健康管理组件 Android 健康提醒组件
Kotlin
17
star
23

RollPickerView

日期选择器,可选择开始日期和结束日期两个日期
Java
15
star
24

CMAppDownload

基于点猫科技工具项目开源~
Java
12
star
25

GestureViewDemo

设置手势密码 手势图案
Java
10
star
26

CollegeHelper

大学毕业设计-校园小助手
Java
9
star
27

AndroidUtilsProject

Android 常用工具类开发维护 主要解决日常开发中频繁且无味的需求开发
Java
8
star
28

LotteryDemo

一个点击按钮滚动抽奖的demo
Java
8
star
29

JetpackStartup

Jetpack 系列之 Startup
Kotlin
7
star
30

open-door

用小爱同学打开楼下门禁系统~
Java
7
star
31

StudyDoc

学习过程中梳理出来的文档
6
star
32

MoneyManager

毕业设计-记账软件
Java
6
star
33

CarChargeServer

毕业设计-滴滴打车软件
Java
6
star
34

CreateNewProjectDemo

app架构 Retrofit+dagger+Okhttp 基类封装大多数操作 只专注业务逻辑
Java
6
star
35

QuickMapping

给测试用的对比图片上文字与标准文档文字是否一致的工具
Java
6
star
36

Caipu1

毕业设计-菜谱软件
Java
5
star
37

Mp3Player

java语言 基于 RollToolsApi 开发的简陋版音乐播放器
Java
5
star
38

estore

javaweb 新手项目 商城项目
Java
4
star
39

WebStudy

前端学习文档
HTML
4
star
40

MZCretin

4
star
41

CretinDocs

3
star
42

RedPacketPlugin

Java
3
star
43

Eva-Translate

Eva-全平台国际化翻译解决方案
3
star
44

RootNoAndroidXProject

Android Studio 升级之后每次创建应用都是默认必须支持Androidx的,不是很友好,想要改成不是Androidx的还是比较麻烦的,所以创建一个不是Androidx的空项目,用于日常的demo和一些依赖库的实现!
Java
3
star
45

CalendarViewDemo

自定义简单的日历控件
Java
2
star
46

AutoRefreshListView

上拉自动加载数据的Listview
Java
2
star
47

java-translate-server

Android/iOS 国际化翻译系统 后端解决方案
Kotlin
2
star
48

vue-translate-web

Android/iOS 国际化翻译系统 管理后台解决方案
Vue
1
star
49

Eva-Convert

企业常用转换能力解决方案-pdf转换-wps转换-图片转换-等等
1
star