将Android SeekBar更改为在主要进度之上绘制次要进度?

将Android SeekBar更改为在主要进度之上绘制次要进度?,android,seekbar,Android,Seekbar,我想更改android seekbar的行为,以便在主android seekbar的基础上绘制辅助android seekbar。从此处列出的ProgressBar文档: 此进度绘制在主进度和主进度之间 背景 辅助进度条的当前外观: 二级进度条所需的外观: 理想情况下,我希望在Android中重写ProgressBar.java中的一个方法,以更改绘制顺序,从而在主进度条的顶部绘制辅助进度条,但我很难在源代码中找到要重写的适当区域。你知道去哪里找吗 我曾尝试使用相对布局在另一个进度条上绘

我想更改android seekbar的行为,以便在主android seekbar的基础上绘制辅助android seekbar。从此处列出的ProgressBar文档:

此进度绘制在主进度和主进度之间 背景

辅助进度条的当前外观:

二级进度条所需的外观:

理想情况下,我希望在Android中重写ProgressBar.java中的一个方法,以更改绘制顺序,从而在主进度条的顶部绘制辅助进度条,但我很难在源代码中找到要重写的适当区域。你知道去哪里找吗


我曾尝试使用相对布局在另一个进度条上绘制两个进度条,但这种方法需要创建两个控件

这是一个迟来的答案,但我刚刚发现了如何做到这一点。没那么难:)

首先,看看android项目[此处]中如何定义可绘制进度

您所要做的就是切换Secondary progress和progress的顺序,使progress位于Secondary progress之前(位于下面),如下所示:

<item android:id="@android:id/background"
      android:drawable="@android:drawable/progress_bg_holo_dark" />

<item android:id="@android:id/progress">
    <scale android:scaleWidth="100%"
           android:drawable="@android:drawable/progress_primary_holo_dark" />
</item>

<item android:id="@android:id/secondaryProgress">
    <scale android:scaleWidth="100%"
           android:drawable="@android:drawable/progress_secondary_holo_dark" />
</item>


可悲的是,这些资源并不公开。因此,您必须复制到项目的可绘制xhdpi文件夹中(也可能复制到其他dpi图像中)

然后按如下方式调整xml文件(只需删除“android:”):


<item android:id="@android:id/background"
      android:drawable="@drawable/progress_bg_holo_dark" />

<item android:id="@android:id/progress">
    <scale android:scaleWidth="100%"
           android:drawable="@drawable/progress_primary_holo_dark" />
</item>

<item android:id="@android:id/secondaryProgress">
    <scale android:scaleWidth="100%"
           android:drawable="@drawable/progress_secondary_holo_dark" />
</item>