android自带的SeekBar样式比较古板,如果我们想让自己的SeekBar炫起来,那么可以考虑使用DiscreteSeekBar。DiscreteSeekBar是GitHub上的一个开源控件,地址https://github.com/AnderWeb/discreteSeekBar,那么我们今天就来看看DiscreteSeekBar的使用。

先来看一张效果图:

上面那个红色的SeekBar就是android自带的SeekBar,下面的是DiscreteSeekBar,当我们拖动的时候,上面会有一个气泡实时显示当前值,我们一起来看看怎么做。

最近刚刚开始使用Android Studio,感觉还不错,所以这个Demo就用As来做了,我们首先要在build.gradle中添加依赖:

compile 'org.adw.library:discrete-seekbar:1.0.0'

下面我们看看上面这个东西的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"> <SeekBar
android:id="@+id/seekb2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="100dp"
android:max="100" /> <org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
android:id="@+id/seekb1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dsb_indicatorColor="#05f75e"
app:dsb_indicatorFormatter="百分之%03d"
app:dsb_indicatorTextAppearance="?android:attr/textAppearanceSmall"
app:dsb_progressColor="#999999"
app:dsb_max="100"
app:dsb_min="0"
app:dsb_trackColor="#440be2"
app:dsb_mirrorForRtl="false"
app:dsb_rippleColor="#fc1307"
app:dsb_value="20" />
</LinearLayout>

第一个SeekBar就是系统自带的SeekBar,第二个就是我们要说的DiscreteSeekBar,我们看看这里每个属性的含义:

dsb_indicatorColor表示气泡的颜色
dsb_progressColor表示SeekBar的颜色
dsb_trackColor表示进度条中那一条细线的颜色
dsb_rippleColor表示手指滑动地方的颜色

dsb_indicatorFormatter表示气泡中文字的显示格式,比如:

app:dsb_indicatorFormatter="百分之%03d"

会显示出“百分之XXX”,%d表示显示数值,0后面的3表示数字显示的位数

dsb_indicatorTextAppearance表示气泡中文本的显示样式

app:dsb_max="100"
app:dsb_min="0" 这两个分别表示DiscreteSeekBar的最大值和最小值

dsb_value表示DiscreteSeekBar的当前值...。

当然,上面这些属性我们也可以在Java代码中进行设置。

Demo下载http://download.csdn.net/detail/u012702547/9306151

												

DiscreteSeekBar使用简介,一个带气泡的SeekBar的更多相关文章

  1. worker 启动时向 etcd 注册自己的信息,并设置一个带 TTL 的租约,每隔一段时间更新这个 TTL,如果该 worker 挂掉了,这个 TTL 就会 expire 并删除相应的 key。

    1.通过etcd中的选主机制,我们实现了服务的高可用.同时利用systemd对etcd本身进行了保活,只要etcd服务所在的机器没有宕机,进程就具备了容灾性. https://mp.weixin.qq ...

  2. 创建一个带模版的用户控件 V.3

    再重构此篇<创建一个带模版的用户控件  V.2>http://www.cnblogs.com/insus/p/4164149.html 让其它动态实现header,Item和Footer. ...

  3. 创建一个带模版的用户控件 V.2

    前面有做练习<创建一个带模版的用户控件>http://www.cnblogs.com/insus/p/4161544.html .过于简化.通常使用数据控件Repeater会有网页写好He ...

  4. Android 自定义带刻度的seekbar

    自定义带刻度的seekbar 1.布局 <span style="font-family:SimHei;font-size:18px;"><com.imibaby ...

  5. QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)

    QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg ...

  6. 如何编写一个带命令行参数的Python文件

    看到别人执行一个带命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持带命 ...

  7. Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

    File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...

  8. 用CSS画一个带阴影的三角形的示例代码

    1. 思路 怎么用CSS3画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...

  9. 写一个带文本菜单的程序,菜单项如下 (1) 取五个数的和 (2) 取五个数的平均值 (X) 退出。

    问题: 写一个带文本菜单的程序,菜单项如下(1)    取五个数的和 (2)     取五个数的平均值(X)    退出. 由用户做一个选择, 然后执行相应的功能.当用户选择退出时程序结束. 实现: ...

随机推荐

  1. MapReduce——计算温度最大值 (基于全新2.2.0API)

    MapReduce——计算温度最大值 (基于全新2.2.0API) deprecated: Job类的所有Constructors, 新的API用静态方法getInstance(conf)来去的Job ...

  2. Response.Write用法总结

    问题一: Response.Write 后连接Response.Redirect ,则Response.Write无法显示,直接跳转入Response.Redirect 的页面. 解决方案: Resp ...

  3. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  4. 使用console进行性能测试和计算代码运行时间

    对于前端开发人员,在开发过程中经常需要监控某些表达式或变量的值,如果使用用debugger会显得过于笨重,最常用的方法是会将值输出到控制台上方便调试.最常用的语句就是console.log(expre ...

  5. ASP.NET MVC 3.0 Controller基础

    ASP.NET MVC 3.0 Controller基础   1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...

  6. 设置oracle11g空表exp导出

    1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...

  7. 关于offset()的理解

    假如要取得x线的offset().top,在页面上的是x线到页面顶端的距离s1,如何取得x线在窗口上的top呢,这就需要取得窗口顶端到页面顶端的距离s2,由于s1和s2都是有方向的,所以,s1-s2就 ...

  8. Setting Up the ADT Bundle

    Setting Up the ADT Bundle The ADT Bundle provides everything you need to start developing apps, incl ...

  9. [Irving]Android 常用布局之RelativeLayout

    RelativeLayout相对布局 相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一. 它灵活性大很多,当然属性也多,操作 ...

  10. Mac OS X Mountain Lion安装Bochs

    基本步骤可以看这个帖子 http://hi.baidu.com/any_where/item/990c0acdfbd6542c47d5c003 大体是: 1.安装x11; 2.开启Mac OS X的r ...