自定义滚动刻度尺控件

原创 2018年04月15日 17:06:37

自定义滑动刻度尺

目前支持的自定义属性

<declare-styleable name="ScaleView">
    <!-- 基线是否显示 -->
    <attr name="baseLineEnable" format="boolean" />
    <!-- 基线的颜色 -->
    <attr name="baseLineColor" format="reference|color" />
    <!-- 基线的高度 -->
    <attr name="baseLineHeight" format="dimension" />
    <!-- 基线与底部的间距 -->
    <attr name="baseLineMarginBottom" format="dimension" />

    <!-- 刻度尺两侧空白区域的刻度线是否显示 -->
    <attr name="scaleLineExtendEnable" format="boolean" />
    <!-- 刻度线的颜色 -->
    <attr name="scaleLineColor" format="reference|color" />
    <!-- 刻度线的宽度 -->
    <attr name="scaleLineWidth" format="dimension" />
    <!-- 刻度值的颜色 -->
    <attr name="scaleLineTextColor" format="reference|color" />
    <!-- 刻度值字体大小 -->
    <attr name="scaleLineTextSize" format="dimension" />
    <!-- 刻度线间的宽度 -->
    <attr name="scaleLineSpaceWidth" format="dimension" />
    <!-- 刻度线间的子区间数 -->
    <attr name="scaleLineSubSpaceCount" format="integer" />

    <!-- 标线是否显示 -->
    <attr name="markLineEnable" format="boolean" />
    <!-- 标线的颜色 -->
    <attr name="markLineColor" format="reference|color" />
    <!-- 标线的宽度 -->
    <attr name="markLineWidth" format="dimension" />
    <!-- 标线顶部托盘的颜色 -->
    <attr name="markLineTrayColor" format="reference|color" />
    <!-- 标线顶部托盘的样式 -->
    <attr name="markLineTrayStyle">
        <enum name="none" value="0" />
        <enum name="solid_line" value="1" />
        <enum name="dotted_line" value="2" />
        <enum name="inverted_triangle" value="3" />
    </attr>
    <!-- 标线值的颜色 -->
    <attr name="markLineTextColor" format="reference|color" />
    <!-- 标线值字体大小 -->
    <attr name="markLineTextSize" format="dimension" />
    <!-- 显示标线值时,对应的刻度值是否隐藏 -->
    <attr name="markLineRetainScaleLineValueEnable" format="boolean" />
</declare-styleable>

初始化刻度值及默认下标

QScaleView scaleView = findViewById(R.id.select_scale_widget);
scaleView.setScaleInfo(list, 0);

获取当前的刻度值及下标

scaleView.setOnScaleChangeListener(new QScaleView.OnScaleChangeListener() {
    @Override
    public void onScaleChange(String scale, int position) {
        Log.e("QTest", "view  ->  scale:  " + scale + "  position:  " + position);
    }
});

Github地址

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ecjtuhq/article/details/79950843

自定义view--刻度尺rulerview

1.金额(时间)刻度尺可以水平滑动。 2.刻度尺的最大值、最小值、选择值可以指定。 3.刻度尺的刻度参差不齐,且有规律,刻度间距可以调控。 4.刻度尺滑动一定距离后要虚化。...
  • woshishui5577
  • woshishui5577
  • 2017年08月11日 17:29
  • 354

android自定义View之刻度尺MnScaleBar

在Q群里看到有同学需要自定义刻度尺如图: 1. 需求: 1)指针固定在屏幕中间; 2)左右可以滑动直尺; 3)返回选择的刻度值; 2. 需要的知识点: 1)继承View重写onDr...
  • zengdesen
  • zengdesen
  • 2015年12月01日 21:07
  • 3548

Android自定义控件之刻度尺控件

Android刻度尺控件 今天我做的是一个自定义刻度尺控件,由于项目需求需要使用刻度尺那样滑动选择,由于对自定义控件的认识还不够深入,于是花了一周多时间才把这个控件给整出来,也是呕心沥血的经历啊,也让...
  • zdc9023
  • zdc9023
  • 2016年03月26日 15:38
  • 1980

Android自定义控件尺子 滚动刻度尺

自定义控件是件很有乐趣的事,慢慢的会爱上它,哈哈哈。废话不多说先上设计图 接下来我们我们要先分析一下页面中需要到哪些东西 1.一条无限长的底线; 2.一根在屏幕中间的红色标记线,代表当前位置; 3....
  • fengzhongdeyang
  • fengzhongdeyang
  • 2016年09月23日 17:37
  • 4513

自定义view-----滚动的刻度尺(二)

滚动的刻度尺其实很想WheelView
  • evn512457
  • evn512457
  • 2014年08月26日 11:32
  • 3232

Android自定义一个属于自己的刻度尺

概述       本文只要说的是自定义一个刻度尺,正好学习下android自定义控件,之前写过一篇《Android自定义一个属于自己的时间钟表》,大家如果感兴趣可以去看下,好了不扯淡了,直接上效果:...
  • u014741977
  • u014741977
  • 2016年12月16日 15:31
  • 2414

Android自定义View之刻度尺滑动功能(一)

在Android开发中,有时候难免会遇到需要绘制图形图像的功能需求,针对这类需求,我们可以采用分解功能点,先易后难,逐个击破的策略。这里以可滑动的刻度尺功能为例,进行自定义View的探讨和学习。首先,...
  • isee361820238
  • isee361820238
  • 2016年12月31日 10:17
  • 1636

自定义view---滚动的刻度尺(一)

自定义view入门了很久了 danshi
  • evn512457
  • evn512457
  • 2014年08月26日 10:19
  • 1933

Android中刻度尺实现

最近公司做一个收音机的项目,将自己做的自定义控件收音机的刻度尺的源码贴出来。总结这次刻度尺的开发过程中的注意点,同时方便以后查阅: package com.jbcao.adapter; impor...
  • jerboy
  • jerboy
  • 2012年11月05日 16:27
  • 6647

自定义view---滚动的刻度尺(四)

使用复合的控件制作自定义view 滚动的keduz
  • evn512457
  • evn512457
  • 2014年08月26日 15:51
  • 4861
收藏助手
不良信息举报
您举报文章:自定义滚动刻度尺控件
举报原因:
原因补充:

(最多只允许输入30个字)