我正在尝试一些听起来相当容易实现的东西。但是,它没有像预期的那样响应。我正在使用Progressbar
绘制一个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补丁,如你所料),“优秀的黑色标记扩展了它下面的像素”(我不知道它是如何调用的。任何人?)扩展它们< em>随机(我的意思是某些部分比其他部分扩展两倍)。
我不确定是否有一个我没有使用的技巧,或者只是Android使用模糊地使用任何块,而不是所有块均匀。有什么想法?
修改
正如@sandkasten建议的那样,我使用了draw9patch应用程序。但是,如您所见,它看起来完美分布,但在Nexus 7上,它只是不起作用。
编辑2:
黑色背景中的状态栏。如您所见,第一个和第二个图标之间有一个很大的距离,而选择器位于中间。
编辑3:这样一个了不起的世界。我开始玩顶级黑色标记,尽管它们最后没有平均分配,但它确实有效。
答案 0 :(得分:0)
如果我理解你,这应该是解决方案。看看draw9patch.bat,它会显示你的图像预览以及android如何拉伸它。它是用android sdk发送的。