NinePatchDrawable 绘画的是一个可以伸缩的位图图像,Android会自动调整大小来容纳显示的内容。一个例子就是NinePatch为背景,使用标准的Android按钮,按钮必须伸缩来容纳长度变化的字符
NinePatchDrawable 是一个标准的PNG图像,它包括额外的1个像素的边界,你必须保存它后缀为.9.png,并且保持到工程的res/drawable目录中。如果你是从 APK解压后得到的*.9.png文件,注意它是已将周围的空白像素去掉了的,在使用时必须再加上。
这个边界是用来确定图像的可伸缩和静态区域。你可以在左边和上边的线上画一个或多个黑色的1个像素指出可伸缩的部分(你可以需要很多可伸缩部分),它的相对位置在可伸缩部分相同,所以大的部分总是很大的。
你还有可以在图像的右边和下边画一条可选的drawable区域(有效的,内边距线)。如果你的视图对象设置NinePath为背景然后指定特殊的视图字体,它将自行伸缩使所有的文本来适应根据右线与底部线设计好的区域(如果有的话),当然内边距线不包括其中,Android可以使用左边的线与上面的线来定义一个drawable区域。
我们来澄清一下这两条不同的线,左边跟顶部的线来定义哪些图像的像素允许在伸缩时被复制。
底部与右边的线用来定义一个相对位置内的图像,视图的内容就放入其中。
Android Nine Patch图片及按钮背景
可以使用tools\draw9patch.bat工具来编辑*.9.png图片,可以看出该工具非常直观的展示了图片在上下或左右拉伸时的效果以及作为背景时其内容显示的位置。
Android Nine Patch图片及按钮背景
作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>
分享到:
相关推荐
- 输入框和按钮:输入框和发送按钮也可以利用Nine-patch图片来设计,这样在用户输入文字或点击按钮时,图片可以自动调整大小,保持美观。 4. **优化与注意事项**: - 尽量减少拉伸区域:虽然Nine-patch允许拉伸,...
点九图片,又称Nine-Patch,是Android平台上一种特殊的图像格式,用于实现可拉伸的图形资源。这种格式允许开发者指定图像的拉伸区域和不拉伸区域,从而确保图像在不同尺寸屏幕上的表现效果一致,尤其适用于按钮、...
首先,Android中的背景图片通常用于装饰Activity、布局或者单个控件,如按钮、文本视图等。我们可以使用XML资源文件或者直接使用图片资源来设置背景。XML资源文件通常位于res/drawable目录下,可以使用shape、...
可以使用Nine-Patch图片(`.9.png`)来处理图像的拉伸区域,或者提供不同分辨率的图片资源。 8. **性能优化** 图片压缩和优化对于提升应用性能至关重要。可以使用工具如TinyPNG或ImageOptim来减小图片文件大小,...
- 图片的大小可能会根据按钮大小自动调整,但为了保持清晰,可以使用Nine-Patch图像,它可以自由拉伸而不会失真。 - 使用`android:padding`属性控制按钮文字和图像之间的距离,以达到理想对齐效果。 4. **响应...
- **图标的尺寸适配**:为了适应不同屏幕尺寸和密度,可能需要使用Nine-Patch图片或者动态调整图像大小。 - **触摸反馈**:为按钮添加触摸反馈效果,如颜色变化、阴影或动画,这通常通过设置`android:state_pressed`...
这可能涉及到使用Nine-Patch图片(`.9.png`),这是一种特殊的PNG图片格式,允许指定拉伸区域和不变区域,以适应不同尺寸的视图。 综上所述,这个压缩包中的源代码很可能包含如何在Android应用中创建、设置点击事件...
- **Nine-Patch图像**:用于创建可拉伸的按钮背景,适应不同尺寸的按钮。 - **Drawable资源**:使用Shape Drawable创建形状,结合Bitmap Drawable设置自定义图标。 4. **按钮动画**: - **过渡动画**:按钮在按...
这是通过`android:background`属性中的状态选择器(State List Drawable)实现的,其中包含了不同状态(如按下、聚焦等)下的背景图片或颜色。 2. **自定义点击效果** 开发者可以通过自定义Drawable资源来改变按钮...
9.png图片的主要作用是处理Android应用中的图形资源,尤其是那些需要自适应大小的元素,如按钮、背景等。通过9.png,开发者可以确保这些元素在放大或缩小时仍能保持原始比例和内容清晰度。 二、9.png制作工具 1. ...
3. **Nine-Patch**:这是一种特殊的PNG图片格式,允许图片在特定区域拉伸而不失真,常用于按钮、背景图等需要自适应大小的元素。 4. **Drawable资源**:在Android中,图片通常存储在`res/drawable`目录下,并按密度...
对于复杂的布局需求,可以使用九宫格伸缩(Nine-Patch)图片,这种特殊格式的图片允许在特定方向上动态拉伸,保持内容区域不变形。 2. **图片下载**:在Android应用中,网络图片的加载通常需要自定义实现,比如使用...
- **按钮背景**:Nine-Patch非常适合用于按钮背景,因为按钮的高度和宽度可能会根据文本长度而变化。 - **对话框背景**:同样适用于对话框背景,因为它需要适应不同尺寸的内容。 - **布局分隔符**:也可以用于创建...
在Android开发中,皮肤通常指一组可替换的图像资源,包括按钮、图标、背景等,这些资源可以被应用动态加载以改变界面的整体风格。通过更换皮肤,开发者可以轻松地更新应用的视觉设计,满足不同用户群体的审美需求或...
- 使用Nine-Patch图片(.9.png)可自适应拉伸,避免图像失真,常用于按钮和背景。 3. **图片优化**: - 使用工具(如Android Studio的Asset Studio或第三方工具)对图片进行压缩,减小内存占用,提高应用加载速度...
九宫格绘图工具,即Draw9patch,是一个官方提供的命令行实用程序,用于创建 Nine-Patch 图片,这种特殊的图片格式允许图像在水平和垂直方向上灵活拉伸,同时保持关键区域的完整性,确保元素如按钮、背景等在不同尺寸...
Android平台中的".9图",全称为"Nine-Patch"图像,是一种特殊类型的PNG图片,用于解决在不同分辨率设备上控件拉伸时的图形失真问题。.9.png图片的使用能够确保图片在横向和纵向拉伸时保持原始图像的细节,如渐变和...
9.png图片的全称是nine-patch image,它允许开发者指定图像的哪部分是可拉伸的,哪部分是固定的,从而在不同尺寸的屏幕上保持图形的正确显示。这种技术在创建按钮、背景和其他需要自适应大小的UI元素时非常有用。 9...
2. **Drawable动画**:使用Nine-Patch图或者VectorDrawable,配合Tween Animation(帧动画)或Property Animation(属性动画)来实现点击效果。例如,当按钮被按下时,可以改变按钮的背景颜色、大小或者透明度。 3....
5. **Nine-Patch**: 九宫格图像是Android的一种特殊格式,允许图像在水平和垂直方向上拉伸,同时保持内容区域的不变。这对于创建具有透明背景的按钮或图标的背景非常有用。但九宫格图像并不直接支持圆角,所以通常...