NinePatchDrawable 绘画的是一个可以伸缩的位图图像,Android会自动调整大小来容纳显示的内容。一个例子就是NinePatch为背景,使用标准的Android按钮,按钮必须伸缩来容纳长度变化的字符
NinePatchDrawable是一个标准的PNG图像,它包括额外的1个像素的边界,你必须保存它后缀为.9.png,并且保持到工程的res/drawable目录中。如果你是从APK解压后得到的*.9.png文件,注意它是已将周围的空白像素去掉了的,在使用时必须再加上。
这个边界是用来确定图像的可伸缩和静态区域。你可以在左边和上边的线上画一个或多个黑色的1个像素指出可伸缩的部分(你可以需要很多可伸缩部分),它的相对位置在可伸缩部分相同,所以大的部分总是很大的。
你还有可以在图像的右边和下边画一条可选的drawable区域(有效的,内边距线)。如果你的视图对象设置NinePath为背景然后指定特殊的视图字体,它将自行伸缩使所有的文本来适应根据右线与底部线设计好的区域(如果有的话),当然内边距线不包括其中,Android可以使用左边的线与上面的线来定义一个drawable区域。
我们来澄清一下这两条不同的线,左边跟顶部的线来定义哪些图像的像素允许在伸缩时被复制。底部与右边的线用来定义一个相对位置内的图像,视图的内容就放入其中。
可以使用tools\draw9patch.bat工具来编辑*.9.png图片,可以看出该工具非常直观的展示了图片在上下或左右拉伸时的效果以及作为背景时其内容显示的位置。
作Nine Patch为按钮背景使用方法:
<Button id="@+id/big"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text!"
android:textSize="30sp"
android:background="@drawable/my_button_background"/>
如果想要设置按钮在按下或者获得焦点时,有不同的背景图片,则可以将需要的背景图片放在drawable目录下(.9.png)格式,同时在drawable目录中新建一个xml文件(内容如下),android:background="@drawable/(XML文件名)",这样就可以在不同状态显示不同的背景。
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/button_focused" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/button_focused" />
<item android:state_focused="true"
android:drawable="@drawable/button_focused" />
<item android:state_focused="false"
android:drawable="@drawable/button_defocused" />
</selector>
作者:Feisky
出处:http://www.cnblogs.com/feisky/
http://www.cnblogs.com/feisky/archive/2010/01/16/1649502.html
分享到:
相关推荐
在Android开发中,`.9.png`图片是一种特殊的图像格式,用于实现图像的拉伸和缩放,以便适应不同尺寸的屏幕。`.9.png`图片在设计时会在图像的边缘添加特殊的标记来指示哪些部分应该拉伸,哪些部分应保持不变。然而,...
在Android开发中,9.png(也称为9-patch)图片是一种特殊的图像格式,它允许开发者定义图像的可拉伸区域和不可拉伸区域,从而在不同尺寸的屏幕上保持UI元素的正确显示。本文将深入探讨如何制作9.png图片,使用的工具...
在Android开发中,9.png图片(也称为9-patch或.9.png)是一种特殊格式的图像,用于创建可拉伸的UI元素。这种格式允许开发者指定图像的哪些部分应该保持不变,哪些部分可以水平或垂直拉伸以适应不同尺寸的屏幕,而...
在Android开发中,`.9.png`图片是一种特殊的图像格式,用于创建可伸缩的用户界面元素,如按钮、背景等。这种格式允许开发者指定图像的拉伸和不可拉伸区域,确保UI元素在不同尺寸的屏幕上保持清晰和正确对齐。下面...
Android .9.png拉伸与按比例拉伸图像例,本源代码演示了9.png的用法,演示了一个按钮使用png做为背景图,等比例不合理拉伸、原始未拉伸、9.png按需要拉伸按需要拉伸大孝原始未拉伸这几种情况的实现方法,尤其在使用...
源码在这里可能指的是用于处理9.png图像的代码,例如自定义的图片处理库或Android Studio的9-Patch工具。这些源码可以帮助开发者更高效地创建和修改9.png图片。 工具是指Android Studio等开发环境提供的图形界面...
在Android设计中,.9.png图片格式是一种专为适应不同屏幕尺寸和分辨率而设计的特殊图像格式。这种格式允许开发者指定图像中哪些部分可以拉伸,哪些部分保持不变,从而确保图片在放大或缩小后仍能保持清晰和美观。...
在Android开发中,`.9.png`图像是一种特殊的PNG图片格式,用于实现图像的拉伸和扩展,以便在不同尺寸的设备上保持图形元素的清晰度和完整性。这种技术主要用于按钮、背景和其他界面元素,使得它们在大小变化时仍能...
在Android界面设计中,`.9.png`是一种特殊格式的图片,用于解决在不同分辨率设备上显示时的拉伸和压缩问题。`.9.png`的主要优点是它可以明确指示哪些区域可以拉伸,哪些区域应保持不变,同时指定内容区域的位置,...
9png,全称为9-patch,是Android系统提供的一种特殊格式的图片资源,用于解决图片在不同尺寸屏幕下拉伸不失真的问题。"android 开发图片神器9png.zip" 是一个包含9png制作工具的压缩包,它为开发者提供了便捷的方式...
在Android开发中,`.9.png`图像是一种特别的图片格式,用于实现自适应的界面元素扩展。这种格式允许开发者指定图像的可拉伸区域和不可拉伸区域,从而确保在不同尺寸的屏幕上正确显示,避免图像失真。标题中的"9_png....
5. 九宫格图(.9.png):这是一种特殊的.png格式,允许图像在特定方向上拉伸而不失真。这对于适应不同屏幕尺寸和设备方向的Android应用非常重要。 在使用这些图片资源时,开发者需要注意以下几点: 1. 尺寸适配:...
在Android应用开发中,`.9.png`是一种特殊格式的图片,用于解决图形在不同尺寸屏幕拉伸时出现的失真问题。`.9.png`,又称9patch或点九图,是一种可伸缩的位图,它允许开发者指定图片的哪些部分应该在拉伸时保持不变...
`.9.png` 是Android系统中一种特殊的图片格式,用于处理图像拉伸时的无缝扩展,确保图像在扩展时保持清晰无损。 首先,我们来了解一下`.9.png`图片格式。`.9.png`,也被称为九宫格图,是由Android系统引入的一种...
1. **.9图片简介**:.9图片是Android SDK提供的一种特殊PNG图片格式,通过在图像边缘添加额外的像素条来定义可拉伸和不可拉伸的区域。这些像素条告诉系统哪些部分应该保持不变,哪些部分可以拉伸以适应不同的大小。...
"9Png_Editor" 是一个专为安卓系统设计的图片处理软件,用于制作和编辑.9.png格式的图片,以实现更加专业和高效的UI设计。 1. **.9.png格式介绍**:.9.png是一种扩展了标准PNG图像格式的方法,通过在图像边缘添加...
在Android开发中,图片处理是一项常见的任务,尤其是在创建自定义视图或者进行界面设计时。本教程将聚焦于"Android实现图片边缘拉伸"这一主题,通过分析提供的`ImageSplitter.java`源代码,我们将深入理解如何在...
这个名为"android常用图片特效处理.zip"的压缩包很可能包含了一系列关于Android平台上的图片处理技术、库和实践示例。以下是根据这些信息推测出的一些关键知识点: 1. **图片加载库**:在Android中,图片加载库如...