SeekBar的样式及使用

不怕跌倒,所以飞翔

现在很多短视频都会用到seekBar去调节视频进度,所以seekBar很有必要学习一下

本文的主要知识点有:

  • 自定义seekBar的样式;
  • seekBar的简单使用。

关于seekBar的样式

系统提供的样式实在是太丑了,所以一般使用seekBar的时候都会自定义样式的,关于seekBar的自定义样式,其实就是设置一个DrawableseekBar中去,设置之后效果还是可以得,所以我们下面就开始撸代码吧!

1.首先就是在布局文件中设置SeekBar的xml

 <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxHeight="3dp"
        android:minHeight="3dp"
        android:progressDrawable="@drawable/seekbar_bg"
        android:thumb="@drawable/seekbar_thumb_bg"/>

这里说明几点:

  • maxHeight和minHeight 这个属性如果不进行设置的话拖动条会很宽很宽的,着实难看;
  • progressDrawable就是进度条的颜色设置,后面我会把具体写法贴出来的;
  • thumb是设置焦点和按下等一些操作使拖动按钮改变的

2.seekbar的背景设置也就是上面的seekbar_bg

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background">
        <shape>
            <solid android:color="#ff51495e"/>
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#f9062a"/>
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#2db334"/>
            </shape>
        </clip>
    </item>

</layer-list>

上面就是设置三层颜色的,其中background是底色,secondaryProgress是缓冲的颜色,progress是当前进度的颜色

3.设置thumb(也就是设置拖动时、获取焦点等拖动块的颜色)就是上面themb对应的seekbar_thumb_bg

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!--获取焦点和没有按下的时候-->
    <item android:drawable="@drawable/seekbar_thumb_normal" android:state_focused="true" android:state_pressed="false"/>
    <!--获取焦点但按下的时候-->
    <item android:drawable="@drawable/seekbar_thumb_pressed" android:state_focused="true" android:state_pressed="true"/>
    <!--没有获取焦点按下的时候-->
    <item android:drawable="@drawable/seekbar_thumb_pressed" android:state_focused="false" android:state_pressed="true"/>
    <!--默认的时候-->
    <item android:drawable="@drawable/seekbar_thumb_normal"/>

</selector>
seekbar_thumb_normal.png
seekbar_thumb_pressed.png

基本上就这些东西了,别觉得我颜色配的丑,我只是觉得这样明显一些哈哈!

关于seekBar的使用

其实作为android的这个空间,没有什么主要的,就是一个监听和几个设置进度的方法

1.常用方法

  • setProgress(int value) 设置滑块的位置
  • setMax(int value) 设置进度条的最大长度
  • setOnSeekBarChangeListener(OnSeekBarCHangeListener l) 设置SeekBar的进度改变事件
  • onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 这个主要是监听进度改变的,这里的progress就是当前的进度,这个fromUser我也没弄懂是什么意思,还请知道的大神说一下!
  • onStartTrackingTouch(SeekBar seekBar) 这个是监听开始拖动滚动条时的操作
  • onStopTrackingTouch(SeekBar seekBar) 停止拖动滚动条的操作
  • setSecondaryProgress(int secondaryProgress) 设置缓冲的进度

别的还真不知道写什么了,以后有什么不知道的在往上面添加吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,567评论 0 17
  • 本人初学Android,最近做了一个实现安卓简单音乐播放功能的播放器,收获不少,于是便记录下来自己的思路与知识总结...
    落日柳风阅读 19,233评论 2 41
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 手机qq里面发送小视频有个功能是,分段录制视频,就是录制的时候,可以停下来,然后再接着录。这个功能目前被我们的项目...
    毛神阅读 853评论 0 4
  • 2015, 给自己买了一份礼物, 如题, 就是一台 Mac.兴奋之余, 又有点措手不及.毕竟跟 Linux 还是有...
    Floyda阅读 2,452评论 9 8