Android - 使用png文件而不是图层列表中的形状

时间:2014-08-22 16:49:01

标签: android xml view android-ui

我想使用特定的png文件作为我的形状,而不是预定义的文件,如椭圆形,矩形,直线等。这可能..这是我的图层列表xml文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:bottom="-2dp"
        android:right="-1dp"
        android:top="-2dp">
        <shape android:shape="oval"
            >
            <solid android:color="@android:color/transparent" />

            <stroke
                android:dashGap="2dp"
                android:dashWidth="1dp"
                android:width="1dp"
                android:color="@color/alert_inner_color" />
            <size
                android:height="33dp" android:width="2dp"
                />
        </shape>
    </item>

</layer-list>

看看它是如何迫使我使用椭圆形的。我有自己的png,我想用来创建一个分隔符。我的最终目标是创建一个可用于分隔视图的分隔符。我的png文件是一个单点。看看这张图片,最后一栏是我想要的结果,但它的高度只有35dp:sample image

1 个答案:

答案 0 :(得分:0)

根据您的描述和您对@pskink的评论,您要使用的是9补丁。有关XML详细信息,请参阅此文档:9-patch resources。这就是大多数框架UI层/状态列表drawables等使用的。

更新编辑:基于评论讨论,上述9个补丁信息无法正常工作。没有真正可用的机制可以用来重复相同的&#34;点&#34;图像一遍又一遍,所以你必须创建一个。您可以做的是创建自己的RepeatingPictureDrawable类,其扩展PictureDrawable(或事件Drawable)并覆盖draw()方法以绘制重复点图像。我建议添加自定义属性以指定图像是垂直还是水平重复。使用此机制,您可以让您的应用只包含单个&#34; dot&#34;图像,在运行时它可以适当缩放。