我正在尝试一些听起来很容易实现的东西。然而,它并没有像预期的那样做出反应。我使用Progressbar绘制了一个5状态栏,用户可以在其中单击任意状态来更改应用程序的行为。我的进度条使用这个绘图(只需注意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:如此惊人的世界。我开始玩最上面的黑色标记,尽管它们最终没有被平均分配,它还是起了作用。
发布于 2013-05-13 09:35:35
如果我没听错的话,这应该是解决办法。看看draw9patch.bat,它向你展示了你的图像的预览,以及安卓是如何将它展现出来的。它是与android一起交付的。

https://stackoverflow.com/questions/16518520
复制相似问题