Android SeekBar的使用 - 进度条的另一种实现方式

01、概述:

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).

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值