最近在寫APP的過程中用到了seekbar吭露,原生的seekbar系統(tǒng)以及APP界面不搭此洲,所以需要自己設(shè)置seekbar的樣式辉浦,過程中遇到了一些小問題饭寺,在此記錄以備后續(xù)查詢:
- seekbar是Android原生控件胡控,即進(jìn)度條扳剿,可以設(shè)置progress和thumb的樣式:
progress
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 設(shè)置background 樣式 如下是一張資源圖片-->
<item
android:id="@android:id/background"
android:drawable="@drawable/*****">
</item>
<!-- 設(shè)置 seekbar進(jìn)度位置的效果-->
<item
android:id="@android:id/progress"
android:drawable="@drawable/******">
</item>
<!-- 設(shè)置 seekbar第二個進(jìn)度位置-->
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/*****">
</item>
</layer-list>
即設(shè)置背景條的進(jìn)度狀態(tài)和未達(dá)到的狀態(tài),可以設(shè)置兩種效果铜犬,類似于看視頻時有當(dāng)前播放進(jìn)度和緩沖進(jìn)度這種舞终;
thumb:
<?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/*****">
</item>
<item
android:drawable="@drawable/*****">
</item>
</selector>
即設(shè)置thumb的正常狀態(tài)和按壓狀態(tài)
xml:
<SeekBar
android:id="@+id/seekbar"
android:layout_width="@dimen/seekbar_w"
android:layout_height="@dimen/seekbar_h"
android:progressDrawable="@drawable/seekbar"
android:thumb="@drawable/selector_thumb" />
設(shè)置自定義seekbar完成之后,thumb沒有顯示出來癣猾,導(dǎo)致界面看起來很詭異:
從效果上看敛劝,明顯是seekbar的高度設(shè)置為6個px,而thumb圖片則是24px的高度纷宇,導(dǎo)致出現(xiàn)thumb顯示不全夸盟,而將height設(shè)置為24px時則整個progress都變成了24px的高度;
這里需要設(shè)置:
Android:minHeight = "6px"
Android:maxHeight = "6px"
這里設(shè)置的并非是整個seekbar的高度像捶,而是背景圖案progress的高度上陕,并將height設(shè)置成wrap_content即可顯示出來桩砰;
- thumb會擋住一部分的progress;
此部分還未測試释簿,后續(xù)有需要再補(bǔ)充亚隅。。