Android 自定义SeekBar拇指显示不需要的背景
我一直在尝试定制Android 自定义SeekBar拇指显示不需要的背景,android,android-seekbar,Android,Android Seekbar,我一直在尝试定制SeekBar。它应该有圆角。即使是SeekBar的进度也应该在两侧都有圆角。我不需要拇指。像这样的 为了实现这一点,我制作了一个名为custom_seekbar.xml的层列表xml文件,如下所示: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item an
SeekBar
。它应该有圆角。即使是SeekBar
的进度也应该在两侧都有圆角。我不需要拇指。像这样的
为了实现这一点,我制作了一个名为custom_seekbar.xml的层列表
xml文件,如下所示:
<?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="#F0E9DC" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#F0E9DC" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#E38F71" />
</shape>
</clip>
</item>
</layer-list>
在我的活动中,我会像这样显示SeekBar
:
<SeekBar
android:layout_width="250dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:progressDrawable="@drawable/custom_seekbar"
android:thumb="@drawable/thumb" />
唯一的问题是拇指。它没有像预期的那样出现。它有这样一个不需要的背景:
如果我设置一个透明的拇指,进度就不再是圆形的了。我甚至试着用一个椭圆形的拇指。谁能告诉我哪里出了问题?或者如果有其他方法可以达到预期的效果。非常感谢您的帮助。添加
android:splitTrack=“false”
,将解决您的问题。我也会使用android:shape=“oval”
,而不是带有圆角的矩形。它也有同样的问题。这就是我尝试使用圆角矩形的原因。还是没什么变化。所以我就这样发布了。你能试着把它添加到你的seekbar中吗?太棒了。只要一行&我的问题就解决了!非常感谢你。你救了我几个小时!请编辑你的答案,这样我就可以接受了。这真是太棒了!但是,你找到了API 21之前的设备的解决方案吗?它很有效@andreimarinescu,我在API 21之前的设备上试用了我的应用程序,没有问题。上述情况仅发生在post API 21设备上。创建一个自定义的Drawable
类,并通过调用answerCreate thumb.xml中的setProgressDrawable
来使用它layerlist@user3676184你能告诉我怎么做吗。我尝试了很多东西,但是没有得到我想要的。“我尝试了很多东西,但是没有得到我想要的”
您是否尝试了一个定制的可绘制的?@pskink为没有回复您的评论而道歉。我错漏了。我没有尝试自定义绘图类。我想我可能错过了一些非常小的东西&可能不需要一个全新的类。我想这是我最后的选择。
<SeekBar
android:layout_width="250dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:progressDrawable="@drawable/custom_seekbar"
android:thumb="@drawable/thumb" />