9path 导致的一场冤假错案

今天做对话框开发,遇到一个问题,就是弹出来的对话框太丑了。如图:
这里写图片描述

大家都是warp_content, 前面几个就是真的wrap_coment了。只有最后一个还可以看。后来自己找代码,写的都一样,就去问同事,同事说,可能是因为背景图片不一样导致的。

后来一查,果然。一个

  <item android:drawable="@color/public_white" />
  这是是很丑的,没有边距的那个。

一个

    <item android:drawable="@drawable/listbackground_normal_plus" />
这个是还可以的那个。

原来背景图也影响wrap_content, 背景图也是内容的一部分啊。关键是自己没有这个意识。

后来发现,用的是9patch。我在想为什么加上颜色就不行,加上9path的图片就可以呢?因为他是张图片,他是有宽高的。

当你warp_content的时候,别忘了背景的宽高也是有影响的,不只是控件的宽高。

原文地址:https://www.cnblogs.com/caoxinyu/p/6647730.html