三种自定义漂亮的Android SeekBar的方法

三种自定义漂亮的Android SeekBar的方法
这里写图片描述

按顺序:
第一种:Seekbar 背景是颜色,thumb是图片;

<SeekBar  
        android:id="@+id/timeline"  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:focusable="true"  
        android:maxHeight="4.0dip"  
        android:minHeight="4.0dip"  
        android:paddingLeft="16.0dip"  
        android:paddingRight="16.0dip"  
        android:progressDrawable="@drawable/po_seekbar"  
        android:thumb="@drawable/seekbar_thumb" />

drawable/po_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">  
        <shape>  
            <solid android:color="#ff51495e" />  
        </shape>  
    </item>  
    <item android:id="@android:id/secondaryProgress">  
        <clip>  
            <shape>  
                <solid android:color="#ff51495e" />  
            </shape>  
        </clip>  
    </item>  
    <item android:id="@android:id/progress">  
        <clip>  
            <shape>  
                <solid android:color="#ff996dfe" />  
            </shape>  
        </clip>  
    </item>  
</layer-list>

drawable/seekbar_thumb.xml:

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

第二种SeekBar是图片实现的

<SeekBar  
    android:id="@+id/sb_detail_play_progress"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:layout_centerVertical="true"  
    android:layout_gravity="center"  
    android:paddingLeft="15.0dip"  
    android:paddingRight="15.0dip"  
    android:progressDrawable="@drawable/progress_holo_light"  
    android:thumb="@drawable/detail_icon_schedule_ball" />

drawable/progress_holo_light.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/volumn_bg" />  
    <item android:id="@*android:id/secondaryProgress">  
        <scale android:drawable="@drawable/volumn_front" android:scaleWidth="100%" />  
    </item>  
    <item android:id="@*android:id/progress">  
        <scale android:drawable="@drawable/volumn_primary" android:scaleWidth="100%" />  
    </item>  
</layer-list>

volumn_bg,volumn_primary,volumn_front都是图片

第三种SeekBar也是图片实现的:

<SeekBar
        android:id="@+id/seekbar3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxHeight="4dp"
        android:minHeight="4dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:progressDrawable="@drawable/player_setting_bright_progressbar"
        android:thumb="@mipmap/player_settings_bright_thumb" />

player_setting_bright_progressbar.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/setting_bright_seekbar_background" />

    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/setting_bright_seekbar_progress"
            android:scaleWidth="100%" />
    </item>
</layer-list>

setting_bright_seekbar_background,setting_bright_seekbar_progress是图片。

demo下载地址:http://download.csdn.net/download/sunbinkang/10193566

猜你喜欢

转载自blog.csdn.net/sunbinkang/article/details/78999003