自定义SeekBar的使用

时间:2022-05-12 12:05:06

一、seekbar是进度条,可以使用系统的,也可以自己定义,下面我们将自己定义一个seekbar。

1.自定义滑条,包括对背景,第一进度,第二进度的设置,通过一个xml来实现,在drawable下创建seekbar.xml文件。

<?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/seek_bg">
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/progress">
</item> <item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/secprogress">
</item> </layer-list>

2.自定义滑块,包括按压和未按压的样式设置,也通过xml来实现,在drawable下创建selector_thumb.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/thumb_press"></item>
<item android:drawable="@drawable/thumb"></item> </selector>

3.样式展示,通过seekbar两个属性android:thumb="@drawable/thumb",android:progressDrawable="@drawable/seekbarbackground"来设置

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" > <TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自定义seekbar"
android:textColor="@android:color/holo_purple"
android:textSize="20sp" /> <SeekBar
android:id="@+id/sb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tv"
android:layout_marginTop="62dp"
android:progressDrawable="@drawable/seekbar"
android:thumb="@drawable/selector_thumb" /> </RelativeLayout>

4.效果图

自定义SeekBar的使用