创建可缩放位图 (9-patch 文件)

Draw 9-patch 工具是 Android Studio 中包含的所见即所得编辑器。该工具允许您创建位图图像,这些图像会自动调整大小以适应视图的内容和屏幕大小。您可以根据图像内绘制的指示器水平或垂直缩放图像的选定部分。

有关 NinePatch 图形及其工作原理的介绍,请阅读NinePatch 可绘制对象

图 1. Android Studio 的 Draw 9-patch 工具显示 NinePatch 图像。

按照以下步骤,使用 Android Studio 中的 Draw 9-patch 工具创建 NinePatch 图形。您需要准备要从中创建 NinePatch 图像的 PNG 图片。

  1. 在 Android Studio 中,右键单击您要从中创建 NinePatch 图像的 PNG 图片,然后单击**创建 9-patch 文件**。
  2. 输入 NinePatch 图像的文件名,然后单击**确定**。您的图像将使用.9.png 文件扩展名创建。
  3. 双击新的 NinePatch 文件,在 Android Studio 中打开它。

    在打开的工作区中,左侧面板是绘图区域,您可以在其中编辑可拉伸区域和内容区域的线条。右侧面板是预览区域,您可以在其中预览拉伸后的图形。

  4. 单击 1 像素的边界内,绘制定义可拉伸区域和(可选)内容区域的线条。

    右键单击以擦除先前绘制的线条(在 Mac 上,按住 Shift 键并单击)。

  5. 完成后,单击**文件** > **保存** 以保存更改。

要在 Android Studio 中打开现有的 NinePatch 文件,请双击该文件。

为确保 NinePatch 图形能够正确缩小,请验证所有可拉伸区域的大小至少为 2x2 像素。否则,这些区域在缩小后可能会消失。为了避免缩放过程中可能导致边界颜色发生变化的插值,请在图形中可拉伸区域之前和之后提供 1 像素的额外安全空间。

注意:加载普通的 PNG 文件(*.png)时,会在图像周围添加一个空的 1 像素边框。您可以在边框内绘制可拉伸区域和内容区域。先前保存的 NinePatch 文件(*.9.png)按原样加载,不添加绘图区域,因为它已经存在。

图 2. Android Studio 中的 NinePatch 图像,显示内容、补丁和错误补丁。

可选控件包括:

  • 缩放:调整绘图区域中图形的缩放级别。
  • 补丁缩放:调整预览区域中图像的缩放比例。
  • 显示锁定:在鼠标悬停时显示图形的不可绘制区域。
  • 显示补丁:在绘图区域中预览粉红色的可拉伸区域。粉红色表示可拉伸区域,如图 2 所示。
  • 显示内容:突出显示预览图像中的内容区域。紫色表示允许内容的区域,如图 2 所示。
  • 显示错误补丁:在拉伸时可能在图形中产生伪影的补丁区域周围添加红色边框,如图 2 所示。如果消除所有错误补丁,将保持拉伸图像的视觉一致性。