Seekbar拇指剪辑

时间:2015-09-15 13:43:11

标签: android seekbar android-seekbar

我正在用拇指创建一个自定义Seekbar。

目前它看起来像这样: http://imgur.com/ofVc7eg

问题: 我用于拇指(椭圆形)的可绘制剪辑在进度条上。

我的代码如下:

布局中的Seekbar:

<SeekBar
        android:background="@android:color/holo_red_light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:thumb="@xml/thumb_image"
        android:progressDrawable="@xml/progress"
        android:max="100"/>

progress.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>
            <corners android:radius="5dip" />
            <gradient
                android:startColor="#ff9d9e9d"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.75"
                android:endColor="#ff747674"
                android:angle="270"
                />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:startColor="#80ffd300"
                    android:centerColor="#80ffb600"
                    android:centerY="0.75"
                    android:endColor="#a0ffcb00"
                    android:angle="270"
                    />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:startColor="#FFD700"
                    android:centerColor="#FFB90F"
                    android:centerY="0.75"
                    android:endColor="#FFA500"
                    android:angle="270"
                    />
            </shape>
        </clip>
    </item>

</layer-list>

thumb_image.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval"
    android:color="@android:color/transparent">
    <solid android:color="@android:color/black" />
    <size
        android:width="30dp"
        android:height="30dp" />
</shape>

3 个答案:

答案 0 :(得分:5)

试 的机器人:splitTrack =&#34;假&#34; 在搜索栏中

供参考,请参阅此主题 Custom seekbar thumb not transparent on Lollipop API21

答案 1 :(得分:1)

对我有用的是在父视图上设置android:clipChildren="false"

答案 2 :(得分:0)

我使用过android:thumbOffset="-0dp"并分配了自定义拇指,其工作正常。实现了许多解决方案,但是由于自定义拇指可绘制,它们不能完美地工作,但是这一解决方案非常简单,只需很少的更改即可。