【问题标题】:How to use Nine-patch images correctly如何正确使用九块图像
【发布时间】:2011-12-19 15:21:23
【问题描述】:

我想创建某种类似的行图像

但我希望它随着屏幕尺寸和密度而缩放。所以阅读这个http://developer.android.com/guide/developing/tools/draw9patch.html 和这个http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch 我开始创建一个九补丁图像。

但是当我导入它并在我的 android 项目中使用它时,它看起来像这样

正如您所见,使用 draw 9 补丁工具绘制的小黑线仍然可见。为什么?

这是 9.png 图片

【问题讨论】:

    标签: android nine-patch


    【解决方案1】:

    你使用的是sdk自带的draw9patch工具吗?这很方便。
    无论如何:

    • 至关重要的是,除了黑色像素之外的每个像素都完全 透明。
    • 黑色像素应位于绝对的顶部/底部/左侧/右侧 图片。
    • 图像应命名为 filename.9.png。

    【讨论】:

    • 我在 Photoshop 中将图像创建为 png 隔行扫描图像,背景是透明的。我将黑色像素放置在图像的顶部/底部/左侧/右侧。当我运行我的应用程序时仍然有黑色像素
    • 您确实将图像命名为 something.9.png,.9 非常重要。如果您将保存的图像导入draw9patch(android-sdk/tools/draw9patch)并再次保存,您可以查看它是否有帮助。
    • J 做了"save 9-patch" 刚复制到eclipse,名字是row.9.png
    • 我尝试在布局中使用它,并且没有问题。我唯一能想到的是android没有正确更新你的资源。您可以尝试刷新您的 res 文件夹,并清理项目(并确保您没有任何其他同名文件)。
    • 哦,顺便说一句,如果你真的让它工作,你可以进一步缩小你的图像,你真正需要的只是圆角和中心的一个像素来拉伸。跨度>
    【解决方案2】:

    我找到了制作 9-patch 图像的最佳和最简单的答案。

    This is best link 一键创建适用于所有分辨率的 9-patch 图像 - XHDPI、HDPI、MDPI、LDPI。

    如果您有任何疑问,请告诉我,如果对您有帮助,请点赞。

    【讨论】:

    • 我使用这个链接本身创建了 9 个补丁图像,我的 android UI 上仍然可以看到黑线,你能帮我如何避免 android UI 上的那些黑线。
    • 该链接现已失效,这就是为什么 stackoverflow 不建议链接到外部网站。
    【解决方案3】:

    如果您需要包含圆角边框的图像,我不必创建 9-patch。

    您只需要一个这样的 XML 存储在 res/drawable 目录中

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <corners android:radius="3.0dp" />
    
        <stroke
            android:width="2dp"
            android:color="@color/green" />
    
    </shape>
    

    Read more about drawable resources

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-18
      • 2012-10-09
      • 2015-02-17
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多