概述:
SeekBar是進(jìn)度條。我們使用進(jìn)度條時(shí)盛泡,可以使用系統(tǒng)默認(rèn)的進(jìn)度條闷祥;也可以自定義進(jìn)度條的圖片和滑塊圖片等。
代碼
<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" />
屬性
- android:max 設(shè)置值的大小 .
- android:thumb="@drawable/" 顯示的那個(gè)可拖動(dòng)圖標(biāo)傲诵,如果沒有設(shè)置該參數(shù)則為系統(tǒng)默認(rèn),如果自己需要重新定義凯砍,則將自己需要的圖標(biāo)存放在資源目錄 /res/drawable下,然后調(diào)用即可.
- android:thumbOffset 拖動(dòng)圖標(biāo)的偏量值,可以讓拖動(dòng)圖標(biāo)超過bar的長度.
- android:progress 設(shè)置seekbar當(dāng)前的默認(rèn)值拴竹,范圍0到max之間.
- android:secondaryProgress 用過的迅雷的都知道拖動(dòng)圖標(biāo)隨著當(dāng)前的播放時(shí)間的走動(dòng)而走動(dòng)悟衩,同時(shí)我們也注意到了也有個(gè)緩沖看到的進(jìn)度條,這個(gè)屬性就是用來設(shè)置默認(rèn)顯示的值為多少,范圍為0到max.
- android:progressDrawable 當(dāng)我們不想使用系統(tǒng)默認(rèn)的SeekBar時(shí)可以自己定義一個(gè),這個(gè)資源文件就是用來調(diào)用我們自己定義的Seekbar圖標(biāo)的一般是在drawable下建立一個(gè).xml文件s用layer-list來組織這些圖標(biāo).
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"/>
<!-- 第二進(jìn)度圖 -->
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/shape_level_title_seekbar_bg"/>
<!-- 進(jìn)度 -->
<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>
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>
改變監(jiān)聽
SeekBar.OnSeekBarChangeListener,要實(shí)現(xiàn)其監(jiān)聽功能只要實(shí)現(xiàn)其接口即可栓拜。在SeekBar中我們需要監(jiān)聽的主要有如下三個(gè)事件
- 數(shù)值的改變(onProgressChanged).
- 開始拖動(dòng)(onStartTrackingTouch).
- 停止拖動(dòng)(onStopTrackingTouch).