Android 点9图片 Can't have more than one marked region 解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fuchaosz/article/details/51602460

1 简介

在自定义PopupWindow的时候,使用到了点9图片,如下图:
这里写图片描述

然后在Android Studio里面编译的时候报了下面的错:

这里写图片描述

仔细看报错:

AAPT err(Facade for 72871828):        Can't have more than one marked region along edge.
AAPT err(Facade for 72871828):        Found at pixel #33 along right edge.

报错的意思翻译一下就是: 不能有超过一个的边
百度一下,发现是点9图片做的有问题,但度娘上都是抄来抄去的,没有说明具体原因,也没有说怎么做,没办法,自己摸索

2 解决办法

在StackOverflower上看了个帖子,大意是Android Studio检查了点9图片的边,但是eclipse不检查,所以报错。经过摸索,发现报错的原因是:

点9图片每个边上只能有一条黑线,超过一条则报这个错

仔细看我的点9图片,右边有两条黑线,所以当然会报错啦,这是我为了演示所以把第二条黑线拉的比较长,实际我遇到情况是第二条线就一个黑点在那儿,很难发现。
找到原因后,用鼠标将第二条黑线去掉就行了,就是把线的宽度压缩到0,黑线就不见了,ok,解决问题。
修改后正确的点9图片如下:

这里写图片描述

3 关于点9

(1) 为什么要用点9?
一句话,拉伸的时候该变形的地方变形,不该变形的不变形
不用点9,拉伸后是这个样子:
这里写图片描述

小三角已经严重变形了。再看用了点9后的效果:

这里写图片描述

图片效果依然细腻,是不是很棒呢。因为我们不让左边拉伸,只能右边拉伸

(2) 四条黑线的作用

这里写图片描述

1黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域
2号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域
3号黑色条位置向左覆盖的区域表示图片纵向显示内容的区域(在手机上主要是文字区域)
4号黑色条位置向上覆盖的区域表示图片横向显示内容的区域(在手机上主要是文字区域)

4 附录

本问演示用的点9图片已经上传,地址:http://download.csdn.net/detail/fuchaosz/9543396

5 转载请注明来自”梧桐那时雨”的博客:http://blog.csdn.net/fuchaosz/article/details/51602460

Tips:
如果觉得这篇博客对你有帮助,就给博主留个言或者顶一下呗,以鼓励博主创作更多优质的博客,Thank you.

猜你喜欢

转载自blog.csdn.net/fuchaosz/article/details/51602460