首页 > 解决方案 > 搜索栏的自定义进度可绘制在棒棒糖设备中不起作用

问题描述

我需要使用自定义渐变文件作为 Seekbar 的可绘制进度,下面是相同的代码片段。

<SeekBar
                            android:id="@+id/seek_bar_feeling_right_now"
                            android:layout_width="0dp"
                            android:layout_height="55dp"
                            android:layout_marginStart="5dp"
                            android:layout_marginEnd="5dp"
                            android:max="@integer/check_in_seek_bar_max_value"
                            android:progress="0"
                            android:progressDrawable="@drawable/check_in_progress_drawable"
                            android:splitTrack="false"
                            android:thumb="@drawable/ic_seek_bar_incomplete"
                            android:thumbOffset="0dp" />

* check_in_bg_gradient.xml *

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape
        android:useLevel="true">

        <gradient
            android:angle="180"
            android:gradientRadius="20dp"
            android:startColor="#ff9898"
            android:endColor="#484c7f"/>

        <corners android:radius="20dp" />

        <stroke
            android:width="1dp"
            android:color="#50999999" />
        <stroke
            android:width="1dp"
            android:color="#70555555" />
    </shape>
</item>
</layer-list>

* check_in_gradient.xml *

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape
        android:useLevel="true">

        <gradient
            android:angle="180"
            android:gradientRadius="20dp"
            android:startColor="#ff9898"
            android:endColor="#484c7f" />

        <corners android:radius="20dp" />

        <stroke
            android:width="1dp"
            android:color="#50999999" />
        <stroke
            android:width="1dp"
            android:color="#70555555" />
    </shape>
</item>
</layer-list>

* check_in_progress_drawable.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"
    android:drawable="@drawable/check_in_bg_gradient"
    android:left="1dp" />
<item android:id="@android:id/progress">
    <clip android:drawable="@drawable/check_in_gradient" />
</item>
</layer-list>

在 Marshmallow 及以上设备上,输出为: 在此处输入图像描述

在 Lollipop 设备上,输出为: 在此处输入图像描述

如所见,棒棒糖设备中没有显示任何内容,如果有人能指导我这有什么问题的话。我也尝试设置 android:background:@null

标签: androidseekbarandroid-seekbar

解决方案


推荐阅读