身高 体重 刻度尺控件

ZXQScaleRuler-刻度尺控件

控件介绍

一个优雅的简洁的刻度尺选择控件,可以用在 身高 体重 腰围等用户信息收集的UI视图上,带来非常nice的交互体验。

效果图

水平刻度尺

h_dmo_img.gif

垂直刻度尺

v_dmo_img.gif

使用方法

Gradle添加引用

compile 'com.zhuxiaoqing.ZXQScaleRuler:ZXQScaleRuler:1.0.0'

使用水平的刻度尺

布局中加入水平刻度尺控件

 <com.zxq.scalruerview.HorizontalScaleRulerView
            android:id="@+id/app_ver_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="10dp"
            zxq:defaultvalue="50"
            zxq:maxvalue="100"
            zxq:minvalue="30"
            zxq:textcolor="@color/colorPrimary"
            zxq:lincolor="@color/colorPrimary"
            zxq:perspanvalue="5"
            zxq:textsize="14sp"
            zxq:linheight="1dp"
            />

代码中

如果没有动态的调整 代码中只需要加入回调函数就可以了。

   app_ver_view.setValueChangeListener(new HorizontalScaleRulerView.OnValueChangeListener() {
            @Override
            public void onValueChange(float value) {
                lab_text_view.setText("体重:"+value+"kg");
            }
        });

如果需要在代码中动态初始化刻度尺可使用如下方法

//find到控件后 先设置内部参数
setParam(int itemSpacing, int maxLineHeight, int middleLineHeight, int minLineHeight, int textMarginTop, int textSize)

//在重新初始化视图
initViewParam(float defaultValue, float minValue, float maxValue, int spanValue)

使用垂直刻度尺

<com.zxq.scalruerview.VertcalSralRulerView
        android:id="@+id/app_ver_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_marginRight="25dp"
        zxq:defaultvalue="160"
        zxq:maxvalue="250"
        zxq:minvalue="110"
        zxq:textcolor="@color/colorPrimary"
        zxq:lincolor="@color/colorPrimary"
        zxq:perspanvalue="5"
        zxq:textsize="14sp"
        zxq:linheight="1dp"
        />

代码中

使用方法和水平刻度尺一致

自定义属性说明

<declare-styleable name="VertcalSralRulerView">

        <!--字体颜色-->
        <attr name="textcolor" format="color"></attr>
        <!--刻度颜色-->
        <attr name="lincolor" format="color"></attr>
        <!--字体大小-->
        <attr name="textsize" format="dimension"></attr>
        <!--刻度宽度-->
        <attr name="linheight" format="dimension"></attr>
        <!--最大刻度长度-->
        <attr name="maxlinlenght" format="dimension"></attr>
        <!--居中刻度长度-->
        <attr name="middlinlenght" format="dimension"></attr>
        <!--最小刻度长度-->
        <attr name="minlinlenght" format="dimension"></attr>
        <!--文字距离刻度的间隔-->
        <attr name="textmarglin" format="dimension"></attr>
        <!--每个刻度的间隔-->
        <attr name="itemspacing" format="dimension"></attr>
        <!--最大值-->
        <attr name="maxvalue" format="float"></attr>
        <!--最小值-->
        <attr name="minvalue" format="float"></attr>
        <!--值的间隔-->
        <attr name="perspanvalue" format="integer"></attr>
        <!--默认选中值-->
        <attr name="defaultvalue" format="integer"></attr>

    </declare-styleable>

垂直刻度尺和水平刻度尺通用

项目地址

https://github.com/qq516633632/ZXQScaleRuler

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,280评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,717评论 1 92
  • 今天是女儿8周岁的生日。亲爱的女儿,你知道吗?从你出生的那一刻起,你就成了妈妈这一生中最放不下的牵挂,你是上...
    蓝天白云1134阅读 3,414评论 5 11
  • 今年的国庆假期是我生命中最重要的一个假期,因为有了儿子。小家伙从出生到现在,整整两个月零八天,从五斤八两五十公分长...
    张旸1984阅读 2,726评论 1 1
  • 到底是什么力量可以在美乐家改变小人物的命运? 你的事业是到底在建管道还是修水库?请深度认知美乐家八大特性并存的商业...
    钟丽丽_觉醒阅读 5,854评论 0 1

友情链接更多精彩内容