我正在尝试为我的应用创建一个在所有分辨率/方向上看起来都很清晰的背景图片。
我是 android 开发的新手,但我知道实现此目的的最简单方法是使用 9 个补丁图像。我以为我了解它们是如何工作的,但我无法让它工作。
我创建了一个背景图片 @ 768 x 1280,这是我的 Nexus 4 的分辨率。当我不 9 修补它并在我的设备上查看它时,它看起来不错(显然,因为分辨率/方向匹配设备的):
所以它看起来又漂亮又锋利。
然后我使用 drawer9patch.bat
文件将补丁添加到图像上并将文件重命名为“.9.png”,结果如下:
筋疲力尽!
奇怪的是:在 draw9patch 工具右侧的预览 Pane 中,一切看起来都很好....
我也试过以较小的分辨率制作图像,但 Logo 和文字看起来不清晰;它们看起来像素化了...
我觉得一定有一些重要的拼图是我遗漏的?我定义为内容的区域被拉伸(stretch)了吗?
这是我的布局代码:
<?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 补丁图像(位于“可绘制”文件夹中):
最佳答案
好的,我修改了你的 9 补丁。
我必须说它设计得很糟糕(72 dpi,而实际上应该是 320 dpi)。
所以,我重新设计了它(你可以看到我移动了黑色像素)并将它保存为 320 dpi(在 drawable-xhdpi 文件夹中)。
它似乎在 ldpi 和 mdpi 屏幕上缩放得很好(所以,我想它在 hdpi 上也能很好地缩放):
我用的补丁是这样的:
关于android - 9 补丁 png 不能正常工作的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756576/