четверг, 26 декабря 2013 г.

А вот так можно делать кастомные seekbar'ы для  android'а :))

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

    <item android:drawable="@drawable/red_scrubber_control_disabled_holo" android:state_enabled="false"/>
    <item android:drawable="@drawable/red_scrubber_control_pressed_holo" android:state_pressed="true"/>
    <item android:drawable="@drawable/red_scrubber_control_focused_holo" android:state_selected="true"/>
    <item android:drawable="@drawable/red_scrubber_control_normal_holo"/>
</selector>
Custom: red_scrubber_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/red_scrubber_track_holo_light"/>
    <item android:id="@android:id/secondaryProgress">
        <scale
            android:drawable="@drawable/red_scrubber_secondary_holo"
            android:scaleWidth="100%" />
    </item>
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/red_scrubber_primary_holo"
            android:scaleWidth="100%" />
    </item>

</layer-list>
Then copy required drawables from Android source code, I took them here:https://github.com/android/platform_frameworks_base/tree/ics-factoryrom-2-release/core/res/res It is good to copy these drawables for each hdpi, mdpi, xhdpi. For example I use only mdpi:
Then using Photoshop change color from blue to red:
red_scrubber_control_disabled_holo.png: red_scrubber_control_disabled_holo
red_scrubber_control_focused_holo.png: red_scrubber_control_focused_holo
red_scrubber_control_normal_holo.png: red_scrubber_control_normal_holo
red_scrubber_control_pressed_holo.png: red_scrubber_control_pressed_holo
red_scrubber_primary_holo.9.png: red_scrubber_primary_holo.9
red_scrubber_secondary_holo.9.png: red_scrubber_secondary_holo.9
red_scrubber_track_holo_light.9.png: red_scrubber_track_holo_light.9
Add SeekBar to layout:
<SeekBar
    android:id="@+id/seekBar1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:progressDrawable="@drawable/red_scrubber_progress"
    android:thumb="@drawable/red_scrubber_control" />
Result:
enter image description here


Комментариев нет:

Отправить комментарий