2010-07-06 8 views
11

Używam SeekBar w mojej aplikacji i chciałbym ją trochę zmodyfikować. Już wymyśliłem, jak zmienić Drawable dla kciuka i tła.Jak dostosować wygląd paska SeekBar w systemie Android?

Moje pytanie brzmi: jak zmienić rozmiar SeekBar? Gdybym tylko zmienić wysokość SeekBar like this, the View is only clipped and it only shows the top piece of the SeekBar`:

<SeekBar 
    android:layout_height="10dip" 
    style="@style/seekbar_style" /> 

Jak mogę zmienić ogólny rozmiar Seekbar? Chcę, żeby był znacznie cieńszy niż standardowy SeekBar.

+0

możesz również przejść przez ten samouczek. http://www.mokasocial.com/2011/02/create-a-ustom-styled-ui-slider-seekbar-in-android/ – Ali

Odpowiedz

13

nie jestem pewien o Seekbars, ale Progressbars można dostosować za pomocą styl niestandardowy (zdefiniowany w styles.xml) tak:

<style name="MyCustomProgressStyle"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@drawable/custom_progress_drawable</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> 
    <item name="android:minHeight">10dip</item> 
    <item name="android:maxHeight">10dip</item> 
</style> 

Następnie można skonfigurować niestandardowe rozciągliwej w oparciu o system Android: progress_horizontal.xml (jest w folderze frameworks/base/core/res/drawable z AOSP checkout). Oto an example z projektu open-source.

23

Masz równowartość tego paska postępu dla SeekBar rzeczywiście:

<style name="Widget.SeekBar"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:minHeight">20dip</item> 
    <item name="android:maxHeight">20dip</item> 
    <item name="android:thumb">@android:drawable/seek_thumb</item> 
    <item name="android:thumbOffset">8px</item> 
    <item name="android:focusable">true</item> 
    </style> 

więc warto, aby zastąpić to wszystko i zrobić to na swój sposób, jak można to zrobić na pasku tytułowym poprzez zdefiniowanie własnego stylu.

+0

to działa dla mnie i pokazuje, jak zmienić obraz "kciuka" (I nie można pojąć, do czego służy "thumbOffset"). –

+1

@RichardLeMesurier thumbOffset to po prostu niewidzialna "luka" pomiędzy kciukiem a brzegami samego paska wyszukiwania. Ustawia się go tak, aby kciuk nie przesuwał się zbyt daleko poza boki. – Glitch

+0

jak zmienić obraz "kciukiem" – mohitum

Powiązane problemy