我如何设置一个自定义的seekbar的ProgressDrawable大小比ProgressBackground小

我有一个自定义的seekbar ,这是不是很工作。

我希望seekbar看起来像这样:

注意进度条比背景更“瘦”

但是,这已经是我所能得到的

进度条和背景是相同的大小

忽略轻微的颜色和大小问题,我遇到的问题是绿色的progress大小。 有什么办法使这个比背景小? 我已经尝试过XML中的sizepadding标签,甚至尝试用两个长方形重叠在一起,但没有运气。

这是我的Seekbar可绘制的

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape android:shape="rectangle"> <corners android:radius="20dp" /> <solid android:color="@color/fofo_grey" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape android:shape="rectangle"> <corners android:radius="20dp" /> <solid android:color="@color/signup_green" /> </shape> </clip> </item> </layer-list> 

和布局片段中的Seekbar

 <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/seekBar" android:layout_below="@+id/textView6" android:layout_centerHorizontal="true" android:splitTrack="false" android:progressDrawable="@drawable/custom_seekbar" android:thumb="@drawable/thumb_seekbar" android:max="100" android:progress="50" android:indeterminate="false" /> 

  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape android:shape="rectangle"> <corners android:radius="20dp"/> <solid android:color="@color/fofo_grey" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape android:shape="rectangle"> <corners android:radius="20dp"/> <solid android:color="@color/signup_green" /> <stroke android:width="6dp" android:color="@color/fofo_grey" /> </shape> </clip> </item> </layer-list> 

只需在seekbar drawable中添加笔画属性即可

为更改高度进度的绘制只需添加android:minHeight="2dip"android:maxHeight="2dip"到pseekbar xml

pipe理解决这个问题。 不能相信花了我很长时间才想到解决scheme…

  <clip> <shape android:shape="rectangle"> <stroke android:color="@color/fofo_grey" android:width="6dp"/> <corners android:radius="20dp" /> <solid android:color="@color/signup_green" /> </shape> </clip> 

添加一个与背景元素颜色相同的stroke ,并调整stroke width以达到所需的效果。

成品效果