Android Progressbar中同等分布的图标

时间:2013-05-13 09:15:40

标签: android android-resources nine-patch

我正在尝试一些听起来相当容易实现的东西。但是,它没有像预期的那样响应。我正在使用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

enter image description here

你可能会发现它们看起来不像垂直居中的斑点,但没关系。问题在于,当图像被拉伸时(它是一个9补丁,如你所料),“优秀的黑色标记扩展了它下面的像素”(我不知道它是如何调用的。任何人?)扩展它们< em>随机(我的意思是某些部分比其他部分扩展两倍)。

我不确定是否有一个我没有使用的技巧,或者只是Android使用模糊地使用任何块,而不是所有块均匀。有什么想法?

修改

正如@sandkasten建议的那样,我使用了draw9patch应用程序。但是,如您所见,它看起来完美分布,但在Nexus 7上,它只是不起作用。

enter image description here

编辑2:

黑色背景中的状态栏。如您所见,第一个和第二个图标之间有一个很大的距离,而选择器位于中间。

enter image description here

编辑3:这样一个了不起的世界。我开始玩顶级黑色标记,尽管它们最后没有平均分配,但它确实有效。

1 个答案:

答案 0 :(得分:0)

如果我理解你,这应该是解决方案。看看draw9patch.bat,它会显示你的图像预览以及android如何拉伸它。它是用android sdk发送的。

New Version