我正在尝试为我的应用创建一个背景图片,该图片在所有分辨率/方向上看起来都很清晰。
我是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补丁图片(位于&#39; drawable&#39;文件夹中):
答案 0 :(得分:7)
好的,我修补了你的9补丁 我必须说它的设计很差(72 dpi,而它真的应该是320 dpi)。
所以,我重新设计了它(你可以看到我移动了黑色像素)并将其保存到320 dpi(在drawable-xhdpi文件夹中)。
它似乎在ldpi和mdpi屏幕上得分很好(所以,我猜它也会在hdpi上很好地扩展):
我使用的补丁是:
答案 1 :(得分:3)
尝试使用此Nine-patch Generator生成Nine-Patch,允许您根据指定的源图稿快速生成不同屏幕密度的简单九个补丁