Android 自定义seekbar中,thumb被覆盖掉一部分问题

时间:2021-07-18 11:57:29

Android 自定义seekbar中,thumb被覆盖掉一部分问题 (图一)  Android 自定义seekbar中,thumb被覆盖掉一部分问题 (图二)    Android 自定义seekbar中,thumb被覆盖掉一部分问题 (图三)

做一个自定义的seekbar,更改其背景图片:

<com.android.Progress
android:id="@+id/focus_seekbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/seekbar_add"
android:progressDrawable="@drawable/seekbar_img"
android:thumb="@drawable/thumb"
android:max = ""/>

定义progressDrawable即为背景图片。thumb为滑块图片

如上定义xml文件,启动程序,生成如图一。 thumb滑块不能显示完全,一部分被隐藏掉。

增加属性:

android:thumbOffset="0dip"

即可实现thumb不被覆盖,即最下方位置如图三所示,不会出现图一情况。

网上有个竖直的VerticalSeekBar,简单说一下他的使用:

当滑块的大小比下面的背景大时,此时要设置

android:minHeight="19dip"
                android:maxHeight="19dip"

19dip即为seek_img图片的宽度。

而控件的layout_width值即位滑块的width和height值

<com.android.VerticalSeek
android:id="@+id/focus_seekbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:progressDrawable="@drawable/seekbar_img"
android:thumb="@drawable/thumb"
android:thumbOffset="0dip"
android:max = ""
android:layout_centerVertical="true"
android:minHeight="19dip"
android:maxHeight="19dip"
android:paddingLeft="-15dip"
android:paddingRight="-15dip"/>

Android 自定义seekbar中,thumb被覆盖掉一部分问题

这么个小问题,用了我半天时间才搞出来。网上资源太少了,给大家分享一下。

<?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>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff364956"
android:centerColor="#ff444444"
android:centerY="0.75"
android:endColor="#ff00112e"
android:angle=""
/>
</shape>
</item> <item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#80364956"
android:centerColor="#802f67a6"
android:centerY="0.75"
android:endColor="#8000112e"
android:angle=""
/>
</shape>
</clip>
</item> <item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9ee5ff"
android:centerColor="#ff9ee5ff"
android:centerY="0.75"
android:endColor="#ff9ee5ff"
android:angle=""
/>
</shape>
</clip>
</item> </layer-list>