TablesView 刻度盘 迈表 圆形进度盘

TablesView 刻度盘 迈表 圆形进度盘

Android 进度条/进度视图

详细介绍

TablesView

刻度盘 迈表 圆形进度盘

Android-小强随手撸的自定义控件

image

项目当中用到了 类似迈表盘的需求 随后开源出来 一起交流学习 有问题提交issues

使用方式:下面是Android studio 使用方式 其他方式请自己生成jar 本库基于Androidx编写

1 添加仓库:在项目的build.gradle 添加jitpack仓库

repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }

2 添加依赖库:在app根目录下的 build.gradle 添加如下代码

dependencies {
        implementation 'com.github.githubwangjunqiang:TablesView:1.0'
}

3 xml 中引用:MaiTablesView 此控件继承自FrameLayout 您可以随意添加子view

<com.xiaoqiang.xqtablesview.MaiTablesView
        android:id="@+id/main_view_mai"
        android:layout_width="250dp"
        android:layout_height="250dp"
        app:tables_color="@android:color/white"
        app:tables_colorprogress="@android:color/holo_red_dark"
        app:tables_groups="8"
        app:tables_groupscount="10"
        app:tables_percentagelong="0.1"
        app:tables_percentageshort="0.05"
        app:tables_progressvalue="10"
        app:tables_strokewidth="4dp"
        app:tables_strokewidthprogress="6dp">

        <TextView
            android:onClick="doClick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="点击我随即旋转哦"
            android:textColor="#fff" />
    </com.xiaoqiang.xqtablesview.MaiTablesView>

    属性介绍(一下代码不用添加 只是描述):

        <!--    表盘自定义属性-->
            <!--        有几组数据 默认一组-->
            < name="tables_groups" format="integer" />
            <!--        一组有几个刻度值  默认10个-->
            < name="tables_groupscount" format="integer" />
            <!--        如果刻度长度值 有长有短  那么此值代表长刻度值占view 宽度的 百分比值 默认0.1-->
            < name="tables_percentagelong" format="float" />
            <!--        如果刻度长度值 有长有短  那么此值代表短刻度值占view 宽度的 百分比值 默认0.05-->
            < name="tables_percentageshort" format="float" />
            <!--        刻度的宽度 默认8px-->
            < name="tables_strokewidth" format="dimension" />
            <!--        刻度的宽度 进度值 默认10px-->
            < name="tables_strokewidthprogress" format="dimension" />
            <!--        刻度的颜色 默认白色-->
            < name="tables_color" format="color" />
            <!--        刻度的颜色 进度值 默认红色-->
            < name="tables_colorprogress" format="color" />
            <!--        进度值 默认0  不能大于总刻度值-->
            < name="tables_progressvalue" format="integer" />

        代码中可以使用view.set***(**) 方式设置 同上,代码设置的属性值会覆盖xml中设置的值

4代码中初始化:

 MaiTablesView mMaiTablesView = findViewById(R.id.main_view_mai);

 //设置进度值
         mMaiTablesView.setProgressValue(2);

         progressvalue 属性是进度值 您可以在代码当中随意设置 不能超过刻度总和
      也可以结合动画设置

 // 内置了 随机动画 调用如下代码 会自动旋转进度值和关闭旋转
        mMaiTablesView.startRandomRoate();//此函数为开启动画
        mMaiTablesView.closeRandomRoate();//此函数为关闭动画

5如果您 开启了混淆 请添加下面的混淆规则 本库都是自定义view 所以 不要混淆本库 本库包名 com.xiaoqiang.xqtablesview

    -keep public class com.xiaoqiang.xqtablesview.**

6支持Androidx

推荐源码