我想更改 Android 搜索栏的行为,以便辅助 Android 搜索栏实际上绘制在主要 Android 搜索栏的顶部。从此处列出的 ProgressBar 文档中:http://developer.android.com/reference/android/widget/ProgressBar.html#attr_android:二级进度
该进度是在主要进度和后续进度之间得出的
背景。
辅助进度条的当前外观:
二级进度条所需的外观:
理想情况下,我想重写 Android 中 ProgressBar.java 中的方法来更改绘制顺序,以便辅助进度条绘制在主进度条的顶部,但我很难在源代码中找到正确的区域要覆盖的代码。有什么想法去哪里看吗?
我已成功尝试使用相对布局在另一个之上绘制两个进度条,但这种方法需要创建两个控件。
这是一个迟到的答案,但我刚刚发现如何做到这一点。没那么难:)
首先看看android项目中的进度绘制是如何定义的[这里]。(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 and 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)