android - 9 补丁 png 不能正常工作的背景

标签 android nine-patch

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

我是 android 开发的新手,但我知道实现此目的的最简单方法是使用 9 个补丁图像。我以为我了解它们是如何工作的,但我无法让它工作。

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

enter image description here

所以它看起来又漂亮又锋利。

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

enter image description here

筋疲力尽!

奇怪的是:在 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 补丁图像(位于“可绘制”文件夹中):

enter image description here

最佳答案

好的,我修改了你的 9 补丁。
我必须说它设计得很糟糕(72 dpi,而实际上应该是 320 dpi)。

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

它似乎在 ldpi 和 mdpi 屏幕上缩放得很好(所以,我想它在 hdpi 上也能很好地缩放):

enter image description here

我用的补丁是这样的:

enter image description here

关于android - 9 补丁 png 不能正常工作的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756576/

相关文章:

android - 创建具有全圆边的 9patch

Android Studio,9 补丁和 "Show Bad Patches"按钮。它怎么知道?

java - Android 9-patch 模糊?

android - 使用 DialogFragment 时出现 IllegalStateException

java - 碰撞检测在低 FPS 时失败(Andengine)

Java\jdk1.7.0_06\bin\java.exe'' 以非零退出值 1 android studio 完成

Android 按钮图像变得模糊?

android - 为什么 RelativeLayout 中的九补丁图像隐藏了所有内部元素?

android - 如何以编程方式隐藏可绘制对象

android - 如何在应用程序中读取计步器