2014-09-02 94 views
5

我有SeekBarRelativeLayout寬度等於屏幕寬度。如何使SeekBar佔用父寬度的全部寬度

我將layout_width="match_parent"應用於SeekBar,但它似乎在SeekBar的兩側保留了一些空白空間以容納拇指。

我也嘗試過使用android:thumb="@null"拇指不見了,但不是兩側的空白空間。

我真的需要使SeekBar寬度匹配父母的。有人能幫助我嗎?也許我可以創建一個自定義SeekBar類,並將其寬度設置爲onMeasure()中的父寬度。如果這是一個可能的解決方案,我不知道如何將父寬度傳遞給SeekBar類。

任何幫助表示讚賞。謝謝。

+0

你可以發佈的XML,是你使用的原生圖形? – Niko 2014-09-02 06:32:14

+0

請顯示你想要的xml和屏幕截圖以及你得到的。 – 2014-09-02 06:32:32

回答

17

嘗試定義與XML的SeekBar如下:

android:padding="0dp" 
+1

我很驚訝,這實際上工作!非常感謝。我永遠不會想到這一點,因爲我從來沒有想過任何填充,除非我已經在佈局中明確定義它。 – DavidH 2014-09-02 06:57:19

+0

它的作品,但拇指不在正確的位置。 – 2014-10-10 13:16:00

+5

它不適用於API 17或更高版本http://stackoverflow.com/questions/33327246/how-to-make-android-seekbar-full-width-in-api-17-or-above – sajad 2015-10-25 08:39:23

0

您發佈的XML之前,我猜你的RelativeLayout有線路如下

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 

這意味着你的RelativeLayout不填在屏幕上,seekbar將填充其父級佈局(RelativeLayout)。因此,您無法獲得您想要的視圖。

+0

我沒有父視圖上的填充。但是,謝謝你的回覆。 – DavidH 2014-09-02 06:55:42

3

剛纔在我的應用程序中解決了這個問題。事情是,即使你沒有設置seekBar填充,在你的appTheme擴展的主題中可能會有一些填充(paddingLeft,paddingTop,paddingRight,paddingBottom,paddingStart,paddingEnd)。將這些填充設置爲0dp,它應該可以正常工作。

3
android:paddingStart="0dp" 
android:paddingEnd="0dp" 

爲我工作。