打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android Nine Patch图片及按钮背景 - Feisky - 博客园

Android Nine Patch图片及按钮背景

Posted on 2010-01-16 17:23 feisky 阅读(5318) 评论(0) 编辑 收藏

 

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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android学习笔记 ? 进阶:利用9
android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
点9切图1
Android应用开发笔记(10):制作自定义背景Button按钮、自定义形状Button的全攻略
Contacts源代码详解
Android根据Button状态(normal,focused,pressed)显示不同...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服