9 Patch png无法正常工作的背景

问题描述 投票:3回答:2

我正在尝试为我的应用创建一个在所有分辨率/方向上看起来都很清晰的背景图像。

我是Android开发的新手,但我知道实现这一目标的最简单方法是使用9个补丁图像。我以为我明白他们是如何工作的,但我无法让它发挥作用。

我已经创建了一个背景图像@ 768 x 1280这是我的Nexus 4的分辨率。当我不修补它并在我的设备上查看它时,它看起来很好(显然,因为分辨率/方向与设备的匹配) :

所以看起来很漂亮。

但后来我使用drawer9patch.bat文件将补丁添加到图像上,并将文件重命名为'.9.png',结果如下:

精疲力竭!

奇怪的是:在draw9patch工具右侧的预览窗格中,它看起来都很好....

我也尝试以较小的分辨率制作图像,但徽标和文字看起来并不清晰;他们看起来像素化......

我觉得必须有一些我不知道的难题的重要部分?我定义为内容的区域正在被拉伸?

这是我的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/my_background_image_patched"
    android:padding="0px">
<!-- Login controls here --->
</RelativeLayout>

这是我的9补丁图片(位于'drawable'文件夹):

android nine-patch
2个回答
7
投票

好的,我修补了你的9补丁。 我必须说它的设计很差(72 dpi,而它真的应该是320 dpi)。

所以,我重新设计了它(你可以看到我移动了黑色像素)并将其保存到320 dpi(在drawable-xhdpi文件夹中)。

看起来它在ldpi和mdpi屏幕上的表现很好(所以,我猜它也能在hdpi上很好地扩展):

我使用的补丁是这样的:


3
投票

尝试使用此Nine-patch Generator生成Nine-Patch,允许您根据指定的源图稿快速生成不同屏幕密度的简单九个色块

© www.soinside.com 2019 - 2024. All rights reserved.