根据最近的工作经验,总结出以下几点:

图片错误:

 

1,a.9.filename标准命名中,缺少.9

错误显示:如果标记了内容区域,则图像右下有异常的黑线。因为ninepatch图最外一个像素来标记ninepatch属性。

2,缺少左上点

错误显示:单向或者双向的拉伸异常。

3,左右padding不对

错误显示:出现图像显示不全,挤压的情形。

4,忽视图像的透明部分

因为程序员对图像不够敏感,所以要注意此处。实现的方式,可能是root背景,然后通过第二层透明的方式实现。

5,view小而背景大

错误显示:如果view宽,而背景图窄,显然ninepatch图会由左右向中间挤压,会出现一条深色的线(即当前背景色的重叠)。此种情况只在背景图有透明度的时候,才出现。纯×××即使叠加,也不会颜色加深。

解决方法:

a, DDMS,截图hdpi下出有异常的页面。PS下查看图片大小及padding

b, PS下查看原图的大小及padding。

c, 得出图片的大小差。

Eg:原图比截图宽6px,则修改原图宽度。但并不一定匹配,需要多试几次。

代码错误:

 

6,setImageDrawable() 和setBackgroundDrawable()的错误使用

错误显示:本来清晰的icon,拉伸变形。

解决方法:

 

一般情况下:使用hierarchyviewer来看。将具体的异常定位到某一个view上。有些手机不能直接看,可以使用4.1的模拟器来看。

 

PS. nor显示正常, 高亮显示小,高亮状态时由nor和一个背景叠加而成。 则是因为背景太小。