我想改变android搜索栏的行为,以便辅助android搜索栏实际上是在主要的搜索栏上绘制的。从此处列出的ProgressBar文档: http://developer.android.com/reference/android/widget/ProgressBar.html#attr_android:secondaryProgress
这一进展是在初步进展与实现进展之间取得的 背景
次要进度条的当前外观:
二级进度条的期望外观:
理想情况下,我想覆盖Android中ProgressBar.java中的方法来更改绘图顺序,以便在主进度条的顶部绘制辅助进度条,但是我很难找到合适的区域在源代码中重写。任何想法在哪里看?
我成功尝试使用相对布局在另一个上面绘制两个进度条,但这种方法需要创建两个控件。
答案 0 :(得分:7)
这是一个迟到的答案,但我发现了如何做到这一点。不那么困难:))
首先看一下如何在android项目[here]中定义进度drawable。(https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable/progress_horizontal_holo_dark.xml)
您所要做的就是切换secondaryProgress的顺序和进度,以便在此之前(如下所示)secondaryProgress进行如下操作:
<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>
现在可悲的是,这些资源并不公开。因此,您必须将progress_bg_holo_dark.9.png,progress_primary_holo_dark.9.png和progress_secondary_holo_dark.9.png复制到项目drawable-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>