Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义SeekBar拇指显示不需要的背景_Android_Android Seekbar - Fatal编程技术网

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" />