Может быть, немного поздно, но лучшее решение, которое я нашел для этой проблемы, - это настроить seekBar и использовать вторичный прорисовываемый прогресс, который будет использовать только часть высоты seekBar.
Скажем, например, что мы хотим использовать нижнюю часть розыгрыша для вторичного прогресса и оставить 10dip на вершине для прогресса. Мы могли бы использовать приведенный ниже код в качестве отображаемого прогресса для нашего seekBar:
<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="#ffffffff"
android:centerColor="#ffdddddd"
android:centerY="0.50"
android:endColor="#ffffffff"
android:angle="270" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff0088eb"
android:endColor="#ff0068e7"
android:angle="90" />
</shape>
</clip>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<inset
android:insetTop="10dp">
<shape>
<corners android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
<gradient
android:startColor="#ff00c8fb"
android:endColor="#ff00a8f7"
android:angle="90" />
</shape>
</inset>
</clip>
</item>
</layer-list>
Основной совет - поместить вторичный ход прорисовки после прорисовки прохождения в список слоев, чтобы он рисовался над ним и всегда был видимым, и использовать вставку, чтобы она не занимала всю высоту SeekBar .
В вашем примере вы можете получить такой результат:
SecondaryProgress <Прогресс
(==== --- O) </p>
SecondaryProgress == Прогресс
(======= O)
SecondaryProgress> Прогресс
(======= O--)