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