笔记 -- 03 -- SeekBar的使用 - 进度条的另一种实现方式
2017-09-08 09:38
363 查看
01、概述:
SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。
android:thumb="@drawable/" 显示的那个可拖动图标,如果没有设置该参数则为系统默认,如果自己需要重新定义,则将自己需要的图标存放在资源目录 /res/drawable下,然后调用即可.
android:thumbOffset 拖动图标的偏量值,可以让拖动图标超过bar的长度.
android:progress 设置seekbar当前的默认值,范围0到max之间.
android:secondaryProgress 用过的迅雷的都知道拖动图标随着当前的播放时间的走动而走动,同时我们也注意到了也有个缓冲看到的进度条,这个属性就是用来设置默认显示的值为多少,范围为0到max.
android:progressDrawable 当我们不想使用系统默认的SeekBar时可以自己定义一个,这个资源文件就是用来调用我们自己定义的Seekbar图标的一般是在drawable下建立一个.xml文件s用layer-list来组织这些图标.
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="0.5dp"
android:color="#ffffff"/>
<size
android:height="0.5dp"/>
</shape>
数值的改变(onProgressChanged).
开始拖动(onStartTrackingTouch).
停止拖动(onStopTrackingTouch).
SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。
02、代码
<SeekBar android:id="@+id/seekbar_self" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="0dp" android:paddingEnd="0dp" android:max="100" android:progress="20" android:progressDrawable="@drawable/item_level_title_seekbar" android:thumb="@drawable/item_level_title_seekbar_thumb" />
03、属性
android:max 设置值的大小 .android:thumb="@drawable/" 显示的那个可拖动图标,如果没有设置该参数则为系统默认,如果自己需要重新定义,则将自己需要的图标存放在资源目录 /res/drawable下,然后调用即可.
android:thumbOffset 拖动图标的偏量值,可以让拖动图标超过bar的长度.
android:progress 设置seekbar当前的默认值,范围0到max之间.
android:secondaryProgress 用过的迅雷的都知道拖动图标随着当前的播放时间的走动而走动,同时我们也注意到了也有个缓冲看到的进度条,这个属性就是用来设置默认显示的值为多少,范围为0到max.
android:progressDrawable 当我们不想使用系统默认的SeekBar时可以自己定义一个,这个资源文件就是用来调用我们自己定义的Seekbar图标的一般是在drawable下建立一个.xml文件s用layer-list来组织这些图标.
04、item_level_title_seekbar
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 背景图 --> <item android:id="@android:id/background" android:drawable="@drawable/shape_level_title_seekbar_bg"/> <!-- 第二进度图 --> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/shape_level_title_seekbar_bg"/> <!-- 进度 --> <item android:id="@android:id/progress"> <clip android:drawable="@drawable/shape_level_title_seekbar" /> </item> </layer-list>shape_level_title_seekbar_bg<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="0.5dp"
android:color="#ffffff"/>
<size
android:height="0.5dp"/>
</shape>
shape_level_title_seekbar
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="0.5dp" android:color="#50E3C2"/> <size android:height="0.5dp"/> </shape>
05、item_level_title_seekbar_thumb
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <size android:width="8dp" android:height="8dp"/> <gradient android:startColor="#ffffff" android:endColor="#50E3C2" android:gradientRadius="12dp" android:type="radial"/> </shape>
06、改变监听
SeekBar.OnSeekBarChangeListener,要实现其监听功能只要实现其接口即可。在SeekBar中我们需要监听的主要有如下三个事件数值的改变(onProgressChanged).
开始拖动(onStartTrackingTouch).
停止拖动(onStopTrackingTouch).
相关文章推荐
- 使用另一种方式实现会话功能
- iOS学习笔记-131.多线程24——多图下载4_第四种实现方式(缓存使用NSCache)
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- iOS学习笔记03——以编码的方式实现Auto Layout自动布局(二)
- iOS学习笔记-124.多线程23——多图下载3_第三种实现方式(使用SDWebImage)
- [置顶] 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等
- Spring框架中的Quartz定时任务使用笔记(通过@Scheduled注解的方式实现)
- QT学习笔记(四):Http下载的另一种实现方式,使用QNetworkAccessManager
- Http下载的另一种实现方式,使用QNetworkAccessManager
- 【我的Java笔记】多线程_使用匿名内部类的方式实现多线程
- ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP入门)
- Java多线程学习笔记1——线程的实现方式以及定时器的使用
- iOS学习笔记03——以编码的方式实现Auto Layout自动布局(二)
- Spring学习笔记(14)----使用Spring的注解方式实现AOP
- Android 高级UI设计笔记03:使用Scroller实现绚丽的ListView左右滑动删除Item效果(转载)
- 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等
- Android实用笔记——使用SeekBar制作可拖动的进度条
- spring学习笔记7--使用spring进行面向切面的(AOP)编程(1)注解方式实现
- #(使用无效,另一种方式实现第一个变量添加外部变量名)
- ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP的细节)