我正在尝试一些听起来很容易实现的东西。但是,它没有按预期响应。我正在使用 aProgressbar
来绘制一个 5 状态栏,用户可以在其中单击任何状态来更改应用程序的行为。我的进度条使用这个drawable(只要注意background
元素)。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/background">
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/statusbar_thin" />
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<gradient
android:endColor="#ffeeeeee"
android:startColor="#ffeeeeee" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/statusbar_thin" />
</item>
</layer-list>
这是@drawable/statusbar_thin
.
您可能会看到它们看起来不像垂直居中的点,但这没关系。问题是,当图像被拉伸时(它是一个 9 补丁,如您所料),“扩展其下方像素的高级黑色标记”(我不知道它是如何调用的。有人吗?)随机扩展它们(我的意思是某些部分比其他部分扩展两倍)。
我不确定是否有我没有使用的技巧,或者只是 Android 模糊地使用任何块,而不是均匀地使用所有块。有什么想法吗?
编辑:
正如@sandkasten 建议的那样,我使用了 draw9patch 应用程序。但是,如您所见,它看起来完美分布,但在 Nexus 7 上,它不起作用。
编辑2:
黑色背景中的状态栏。如您所见,第一个和第二个图标之间有很大的距离,而选择器介于两者之间。
编辑3:如此神奇的世界。我开始使用最上面的黑色标记,尽管它们最终分布不均,但它奏效了。