android九补丁的实用程序

aka*_*ari 6 android resize image nine-patch

我想知道为什么我们使用九补丁?我知道缩小或拉伸图像,但如果我想调整图像大小,我们不能在像gimp这样的专用图像编辑器上进行调整吗?

Lav*_*wal 18

什么是9-Patch?

9-Patch图像是可拉伸的,可重复的图像,缩小到最小尺寸; 用户绘制一个右下角的纯黑色1像素边框,告诉系统如何将内容放置在图像中.

9-Patch是一个PNG图像,增加了文件名(filename.9.png)的扩展名,允许Android系统确定如何拉伸和扭曲图像以满足特定的布局约束.

Android操作系统会读取这些图像的边框,以了解如何正确拉伸图像本身以及图像中的内容(如文本和效果).

9-Patch理论 9补丁图像概念

9-Patch的名称来自于创建的叠加将图像分成九个定义的区域.每个区域都有特定的拉伸特性:

拐角区域(1,3,7,9) 这些区域是固定的,它们内部没有任何东西会拉伸.

水平面(4,6) 这些区域中的像素将在必要时垂直拉伸.

垂直面(2,8) 这些区域中的像素将在必要时水平拉伸.

中心(5) 该区域中的像素将在水平和垂直方向上均匀地伸展.

这是Google文档


Moh*_*ikh 6

九个补丁图像非常有用,因为它可以减少您的资源,并且可以保持曲线形状在正常的.png中伸展.

  1. 减少资源:可以制作一个小的NinePatch图像,并且可以通过重复Pixel来尽可能地拉伸它

  2. 即使显示尺寸发生变化,也要保持边框角.

  3. 无需以编程方式提供填充,您可以直接在NinePatch中保留文本区域.

顶部和左侧像素边界定义了可伸展区域.但是,底部和右侧定义了CONTENT区域.如果你想让填充物消失,你需要让底部和右边的条一直延伸到艺术品的边缘(尽管不是一直到角落的像素!).基本上,右边和底部像素边框定义了填充.

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch 在此输入图像描述

http://www.developer.com/ws/android/programming/Working-with-NinePatch-Stretchable-Graphics-in-Android-3889086.htm

在此输入图像描述


K_A*_*nas 5

使用9补丁图像的优点是,当使用它作为背景时,图像不会在不同的屏幕尺寸中拉伸和松散比例.中心的"补丁"将保持原样,"边框"补丁将被拉伸以适应屏幕/视图大小.

一个更大的优势是记忆.相同的小尺寸内存可以重复用于不同的屏幕尺寸设备.设计良好的9补丁图像不易出错,具有很高的可重用性.我很难为不同的分辨率优化UI,直到我知道Android支持9-patch.

对于padding,因为@hotveryspicy说你可以使用填充框(你的文本按钮将被填充)来定义你的paddig值,它们的定义如下:

  1. padding-top:填充框顶边与按钮顶边之间的距离
  2. padding-bottom:填充框的buttom边缘与按钮的buttom边缘之间的距离
  3. padding-right:填充框右边缘与按钮右边缘之间的距离
  4. padding-left:填充框左边缘与按钮左边缘之间的距离

希望这能帮助你清楚地了解9-patch drawable的重要性