Android中9-patch图片的总结

来源:互联网 发布:怎么安装cad2008软件 编辑:程序博客网 时间:2024/05/22 14:33

上周开始,自己算是第一次真正在项目中开发Android,和iOS开发的大致思想是一致的,但是不得不说,开源的东西很伟大,SDK的很多地方是iOS开发无法比拟的。今天在项目中需要用到9-patch图片做拉伸,深深感觉到Android开发的牛逼之处。

==============================================================================

http://blog.csdn.net/colorapp/article/details/37829851

http://blog.csdn.net/colorapp/article/details/37829511


上面是我转载的两篇文章,对9-patch图片的使用讲解的非常清晰。

1. 在Android Studio中使用9-patch图片很简单,只需要把图片的后缀改为“.9.png”即可,就可以直接进行编辑了,比eclipse中要简单很多。直接使用鼠标点击拖动就可以在边缘添加黑线了,同时按着shift拖动鼠标可以删除黑线。



2. 上部和左侧的黑线是必须的,这个叫做"scalable area",这两个黑线来定义可以进行拉伸的区域,这个概念比较容易理解,上部和左侧就是可以进行缩放的区域,点击"Show patches"可以显示该区域,看着会比较直观。如图一

底部和右侧的黑线并不是必须的,这两个黑线定义的区域叫做"fill area",这个概念一开始我也理解起来很费劲,但是看过下图就明白了,这个是用来定义显示区域的,同样可以通过点击"Show content"显示这个区域,例如这个图片是TextView的背景图片的话,你会发现文字仅仅只出现在图二右侧那几个区域中,根据不同的拉伸方式区域不相同,如图二。为什么说这个不是必须的呢?如果不设置这两个区域的话,会默认将整个图片设置为“fill area”,即如TextView,整个拉伸后的图片都会充满文字


图一:由左侧和上部的黑线交叉而成的区域就是可以拉伸的区域,即"scalable area"



图二:右侧高亮区域就是用于显示内容的"fill area"



图三:这张图更加表面"fill area"是什么意思,显示三个button的区域就是图二右侧的高亮区域



3. 还有一个更加牛逼的特性,就是拉伸区域甚至可以是间隔的不连续的,拉伸时会对各个拉伸区域进行等比例加大,利用这个特性我们做很多更加牛逼的效果,如下这种拉伸效果

图四:


图五:


0 0
原创粉丝点击