SeekBar,拖動條。主要的要點是自定義的樣式,拖動條的值,拖動條值改變的監聽器等等。php
style="@android:style/Widget.SeekBar"
指定樣式java
android:max="200"
最大值爲200,默認是100android
android:progress="100"
指定當前的值爲100bash
android:thumb
設置滑動塊的樣式ide
android:progressDrawable
設置進度條的圖片spa
progress值改變的監聽器:code
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textView.setText("Value:"+ Integer.toString( progress ) );
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.e("------------","開始滑動!");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.e("------------","中止滑動!");
}
});
複製代碼
普通版的 style="@android:style/Widget.SeekBar"
orm
Holo版 style="@android:style/Widget.Holo.SeekBar"
cdn
DeviceDefault style="@android:style/Widget.DeviceDefault.SeekBar"
xml
Material style="@android:style/Widget.Material.SeekBar"
<!-- This is the thumb on the seek bar. -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:state_window_focused="true" android:drawable="@drawable/seek_thumb_pressed" />
<item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/seek_thumb_selected" />
<item android:state_selected="true" android:state_window_focused="true" android:drawable="@drawable/seek_thumb_selected" />
<item android:drawable="@drawable/seek_thumb_normal" />
</selector>
複製代碼
它定義的是seekbar的滑塊樣式,內容很簡單,你們應該看得懂,分別對應着按下,選中,以及得到焦點時滑塊的圖片,這個是源碼的,你們照葫蘆畫瓢就行了。
<?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/bg3" />
<!-- 普通無焦點狀態 -->
<item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/bg4" />
</selector>
複製代碼
<style name="Widget.Material.SeekBar">
<item name="indeterminateOnly">false</item>
<item name="progressDrawable">@drawable/seekbar_track_material</item>
<item name="indeterminateDrawable">@drawable/seekbar_track_material</item>
<item name="thumb">@drawable/seekbar_thumb_material_anim</item>
<item name="splitTrack">true</item>
<item name="useDisabledAlpha">false</item>
<item name="focusable">true</item>
<item name="paddingStart">16dip</item>
<item name="paddingEnd">16dip</item>
<item name="mirrorForRtl">true</item>
<item name="background">@drawable/control_background_32dp_material</item>
</style>
複製代碼
固然,thumb能夠直接使用屬性標籤:android:thumb去指定, 這裏的style是自定義了不少東西,上面的這個是系統的 Material 效果的風格xml,有