400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

android中怎么优雅的从网络加载点九图

这篇文章主要介绍了android中怎么优雅的从网络加载点九图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇android中怎么优雅的从网络加载点九图文章都会有所收获,下面我们一起来看看吧。

创新互联专注于企业网络营销推广、网站重做改版、邳州网站定制设计、自适应品牌网站建设、HTML5建站商城建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为邳州等各大城市提供网站开发制作服务。

1 背景

1.1 什么是点九图

其实点九图和我们用的其他格式的图没有什么大的不同,只不过是在图片的四周各增加了1px的纯黑(#FF000000)的线进行标记。例如:

标记位置含义
左-黑线纵向拉伸区域
上-黑线横向拉伸区域
右-黑线纵向显示区域
下-黑线横向显示区域
1.2 Android是如何加载点九图的

当我们将点九图放在res目录下,Android不是直接去加载点九图的,而是在编译的时候将其转换成另一种格式,这种格式是将其四周的黑色像素保存在Bitmap类中的mNinePatchChunk的byte[]数组中,并去掉四周一像素的宽度;在使用的时候,当判断mNinePatchChunk不为空且为9patchchunk,则将其构造为NinePatchDrawable,否则构造为BitmapDrawable,最终设置给view。所以,最后打包后的点九图已经不是原来带黑线的点九图了。

2 使用方案

2.1 遇到的坑

如果没做任何处理,当我们从服务端直接拉取点九的图设置到我们的view上时,发现图片并不会拉伸,并且图片周围的黑线也会显示出来。从上1.2Android加载点九图的原理可知,之所以出现这种问题,是因为我们少了编译这一步,是直接拿原始的点九图设置到view上的,所以才出现问题。 知道错误的原因后,我们可以做如下几种方式处理:

2.2 使用方案

先看下总的流程图:

  android中怎么优雅的从网络加载点九图

使用上述方案的注意事项:

关于“android中怎么优雅的从网络加载点九图”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“android中怎么优雅的从网络加载点九图”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


分享标题:android中怎么优雅的从网络加载点九图
路径分享:http://mbwzsj.com/article/jjisjh.html

其他资讯

让你的专属顾问为你服务