Android 可拖动进度条:SeekBar之自定义进度条_android

目录

一、自定义进度条样式
二、自定义滑块样式

一、自定义进度条样式

1、方式一
我们还可以找到 progress_horizontal.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">
<shape>
<corners android:radius="10dip"
<gradient
android:startColor="#ff9d9e90"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
</shape>
</item>

<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="10dip"
<gradient
android:startColor="#50ff0000"
android:centerColor="#50ff0000"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
</shape>
</clip>
</item>

<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip"
<gradient
android:startColor="#ffff0000"
android:centerColor="#ffff0000"
android:centerY="0.75"
android:endColor="#ffffcb00"
android:angle="270"
</shape>
</clip>
</item>

</layer-list>

2、方式二
  我们也可以自己制作进度条图片,通过seekbar的progressDrable属性进行调用使用即可。

"@drawable/color"

Android 可拖动进度条:SeekBar之自定义进度条_android_02

二、自定义滑块样式

  这里我们新建一个xml文件通过设定它的状态来改变图片即可,再在seekbar中通过thumb属性进行调用即可。
 xml文件

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

调用

<LinearLayout 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=".MainActivity"
android:orientation="vertical">

<SeekBar
android:id="@+id/seekbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
<SeekBar
android:id="@+id/seekbar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
android:thumb="@drawable/seekbarimg"
<SeekBar
android:id="@+id/seekbar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
android:progressDrawable="@drawable/color"
android:thumb="@drawable/seekbarimg"
</LinearLayout>