文档章节

android seekbar滑动条实现平滑滑动并回滚至指定值的整数倍

n
 nandecanghai123
发布于 2017/09/05 14:42
字数 237
阅读 26
收藏 0

seekbar默认最大值为100,但当我们需要选择的数值更大时,需制定默认最大值,但现在很多app都实现了滑动条可自由平滑的滑动,但手松开后,自动回滚至最接近的可选数值,下面我们就来介绍一下这种效果的实现方法

一、配置文件xml

 <SeekBar  android:id="@+id/sb_quota" android:layout_width="match_parent" android:layout_height="wrap_content" />

二、配置seekBar

 private SeekBar sb_quota;
 private int maxAmount=1000;//最大值
 private int default_unit=50;//滑动停留单位
 private int quota;//当前滑动到的值
   sb_quota = (SeekBar) rootView.findViewById(R.id.sb_quota);
    sb_quota.setMax(maxAmount);
    //滑动事件
      sb_quota.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                refreshView();
            }
        });

 private void refreshView() {
        if (quota % default_unit > 0 && quota != maxAmount && quota != defAmount) {
            int remainder = quota % default_unit;
            if (remainder > default_unit / 2 && default_unit * (((int) (quota / default_unit)) + 1) <= maxAmount) {
                quota = default_unit * (((int) (quota / default_unit)) + 1);
            } else {
                quota = default_unit * (int) (quota / default_unit);
            }
            sb_quota.setProgress(quota);
            return;
        }
    }

本文转载自:http://blog.csdn.net/u010184245/article/details/73277408

n
粉丝 0
博文 47
码字总数 0
作品 0
烟台
私信 提问
手机影音第十天,控制屏幕上下滑动改变音量变化,监听物理键改变音量

代码已托管至码云上,有兴趣的小伙伴可以下载看看,IDE是Android studio 2.3.2 https://git.oschina.net/joy_yuan/MobilePlayer 常见的手机播放器,都有屏幕上下滑动改变音量大小的功能,在此...

老婆的宝宝
2018/06/26
0
0
Android学习笔记18:自定义Seekbar拖动条式样

  SeekBar拖动条可以由用户控制,进行拖动操作。比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现。 1.SeekBar控件的使用 1.1SeekBar常用属性   SeekBar的常用属性有以下...

程序袁_绪龙
2015/03/19
1K
0
Android组件(三)

Progress(进度条):打开文件等的进度显示,用以给用户提示。其中最常见的两种是“环形进度条”和“水平进度条”。如下图所示: 代码如下: 这里介绍进度条事件的两种方法,一种是Activity直...

晨曦之光
2012/05/16
106
0
拖动条/滑动条控件、星级评分控件

ProgressBar有2个子控件: SeekBar 拖动条控件 RatingBar 星级评分控件 1、拖动条控件 1

chenhongyong
05/17
0
0
Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一篇文章中Android 带你从源码的角度解析Scrol...

程序袁_绪龙
2015/08/13
865
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
21分钟前
3
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
今天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部