`
ericbaner
  • 浏览: 177522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

9-patch图片的制作方法

 
阅读更多

 

Nine-patch

NinePatchDrawable graphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have placed it as the background. An example use of a NinePatch is the backgrounds used by standard Android buttons — buttons must stretch to accommodate strings of various lengths. A NinePatch drawable is a standard PNG image that includes an extra 1-pixel-wide border. It must be saved with the extension .9.png, and saved into the res/drawable/ directory of your project.

The border is used to define the stretchable and static areas of the image. You indicate a stretchable section by drawing one (or more) 1-pixel-wide black line(s) in the left and top part of the border (the other border pixels should be fully transparent or white). You can have as many stretchable sections as you want: their relative size stays the same, so the largest sections always remain the largest.

You can also define an optional drawable section of the image (effectively, the padding lines) by drawing a line on the right and bottom lines. If a View object sets the NinePatch as its background and then specifies the View's text, it will stretch itself so that all the text fits inside only the area designated by the right and bottom lines (if included). If the padding lines are not included, Android uses the left and top lines to define this drawable area.

To clarify the difference between the different lines, the left and top lines define which pixels of the image are allowed to be replicated in order to stretch the image. The bottom and right lines define the relative area within the image that the contents of the View are allowed to lie within.

Here is a sample NinePatch file used to define a button:

This NinePatch defines one stretchable area with the left and top lines and the drawable area with the bottom and right lines. In the top image, the dotted grey lines identify the regions of the image that will be replicated in order to stretch the image. The pink rectangle in the bottom image identifies the region in which the contents of the View are allowed. If the contents don't fit in this region, then the image will be stretched so that they do.

The Draw 9-patch tool offers an extremely handy way to create your NinePatch images, using a WYSIWYG graphics editor. It even raises warnings if the region you've defined for the stretchable area is at risk of producing drawing artifacts as a result of the pixel replication.

Example XML

Here's some sample layout XML that demonstrates how to add a NinePatch image to a couple of buttons. (The NinePatch image is saved as res/drawable/my_button_background.9.png

<Button id="@+id/tiny"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:text="Tiny"
        android:textSize="8sp"
        android:background="@drawable/my_button_background"/>

<Button id="@+id/big"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:text="Biiiiiiig text!"
        android:textSize="30sp"
        android:background="@drawable/my_button_background"/>

Note that the width and height are set to "wrap_content" to make the button fit neatly around the text.

Below are the two buttons rendered from the XML and NinePatch image shown above. Notice how the width and height of the button varies with the text, and the background image stretches to accommodate it.

分享到:
评论

相关推荐

    使用9-Patch图片实现不失真按钮背景

    下面我们将深入探讨9-Patch图片的原理、制作方法以及如何在按钮背景中应用。 9-Patch图片的基本原理在于,在图片的边缘和角落添加额外的像素信息来定义拉伸区域和不拉伸区域。这些额外的像素是透明的,人眼无法直接...

    点九图片素材制作工具Nine-Patch

    总的来说,Nine-Patch Editor1_0_0_3是一款强大的点九图片处理工具,它简化了点九图片的制作流程,提高了工作效率,尤其适合那些需要频繁处理点九图片的开发者和设计师。通过利用这款工具,你可以专注于设计本身,而...

    draw 9-patch教程

    9-patch图片允许开发者指定图像的哪部分是可拉伸的,哪部分应该保持不变,从而避免了在UI元素拉伸时出现不均匀的变形或内容被裁剪的问题。 标题"draw 9-patch教程"指的是如何使用特定工具——draw9-patch来创建和...

    9-patch.zip

    9-patch.zip是一个包含9-patch相关工具的压缩文件,主要针对Android开发中的图形资源处理。...通过熟练掌握9-patch图像的制作和使用,开发者可以创建更加适应多设备环境、视觉效果更佳的应用界面。

    9点素材制作工具Nine-Patch Editor1_0_0_3

    Nine-Patch Editor1_0_0_3是专为Android平台设计的一款强大的9点素材制作工具,它使得开发者和设计师能够高效地创建适应不同屏幕尺寸和分辨率的图像资源。9点切图技术在Android开发中扮演着至关重要的角色,因为它...

    聊天气泡框 Nine-Patch图片

    Nine-Patch图片技术则是Android平台上的一个特殊图像格式,它允许开发者创建可伸缩的图片资源,尤其适合制作聊天气泡这类需要自适应内容大小的图形。 Nine-Patch图片,也被称为9-patch,是一种特殊的PNG图像,包含...

    android点九图片制作工具

    点九图片,也被称为.9.png或9-patch图片,是Android系统中特有的一种图像格式,用于创建可拉伸的UI元素。这种格式允许开发者指定图像的哪些部分可以水平或垂直拉伸,哪些部分应该保持不变,从而实现自适应布局的效果...

    9patch mac版 点9工具(安装包)

    总的来说,9patch mac版工具是Android开发者在Mac系统中进行UI设计和优化的得力助手,它简化了9-patch图片的创建和编辑流程,确保了应用在各种屏幕尺寸下的视觉一致性。通过熟练掌握和使用这样的工具,开发者可以...

    做安卓android的.9图片必备工具

    在Android开发中,.9图片(也称为9-patch)是一种特殊的图像格式,用于创建可拉伸和可缩放的图形资源。这种技术对于确保UI元素在不同屏幕尺寸和密度下正确显示至关重要。以下是关于使用.9图片以及相关工具的详细知识...

    draw9patch

    9-patch图片在Android应用中的使用非常广泛,特别是对于那些需要自适应不同设备尺寸的界面元素。例如,一个按钮背景如果用9-patch图制作,那么在小屏幕设备上缩小时,按钮的边框可以自动收缩,而在大屏幕设备上放大...

    draw9patch.zip

    中文版draw9patch,制作.9图片十分方便呢!解决 Android 开发 ERROR: 9-patch image

    android 9.png 图片制作工具

    6. **使用9-patch图片**:在Android应用中,将9.png文件放入项目的`res/drawable`目录下,然后像普通图片资源一样在XML布局文件中引用它,或在代码中使用`getDrawable()`方法获取。 7. **注意事项**: - 避免在...

    draw9patch 9png制作工具

    2. **导入图片**:将需要处理的PNG图片拖放到Draw9Patch工具的左侧区域,或者通过菜单选择文件进行导入。 3. **绘制拉伸区域**:使用顶部和右侧的黑色条来定义拉伸区域。这些黑色条中的每个像素代表一个区域边界。...

    android中九宫格图片9.png制作工具集合

    “xUltimate draw9patch”是一款专为Android开发者设计的9-patch 图片制作工具,它简化了创建和编辑9-patch 图片的过程。该工具提供了直观的用户界面,使得开发者可以方便地定义图像的拉伸区域。 1. 安装与使用: ...

    Android源码——9妹工具(9Patch).zip

    此外,9-Patch还可以用于创建具有透明度的图像,这对于制作具有复杂边界的图像或具有渐变背景的UI组件非常有用。由于9-Patch允许指定哪些部分是透明的,因此开发者可以创建出更灵活且与不同背景兼容的组件。 9-...

    android .9图片工具 .9-patch

    很久没上传资源了,今天特意把自己收集的,自己用过的资源上传。Android.9png图片制作工具,这个工具是增强版,可以同时处理多张图片,处理的图片不会有黑线。非常的好。

    傻瓜式制作9.png

    在制作9.png的过程中,通常会使用专用的工具,比如Android Studio内置的9-patch工具或者独立的9-patch.exe。这些工具允许用户直观地绘制这些标记线,然后保存为9.png格式。压缩包中的"9-patch.exe"可能就是这样一个...

    Android制作9.png图片工具及步骤详解

    在Android开发中,9.png(也称为9-patch)图片是一种特殊的图像格式,它允许开发者定义图像的可拉伸区域和不可拉伸区域,从而在不同尺寸的屏幕上保持UI元素的正确显示。本文将深入探讨如何制作9.png图片,使用的工具...

    Android draw9patch 图片制作与使用详解

    在Android开发中,Draw9Patch是一种特殊的图片格式,它允许开发者定义图像的可拉伸区域,以便在不同尺寸的屏幕上保持界面元素的正确...总之,熟悉和掌握9-patch图片的制作与使用是每个Android开发者必备的技能之一。

Global site tag (gtag.js) - Google Analytics