Android 4.2 9补丁背景的绘制方式与旧的OS版本不同

时间:2012-12-07 16:25:21

标签: android nine-patch android-4.2-jelly-bean android-drawable

我有一个带有Android 4.2.1的Nexus 7,我在我的应用程序中注意到我用于某些线性布局的背景图像被错误地绘制。对于具有较旧版本Android OS的其他设备,可以正确绘制9补丁背景,但使用此设备时,边框线在不应拉伸时会拉伸。

正确(Evo 4G v2.3.5): http://i.imgur.com/WDTNr.png

不正确(N7 v4.2.1): http://i.imgur.com/HntMY.png

知道造成这种情况的原因是什么?如果没有,是否有其他方法可以在不使用9补丁图像的情况下在这些视图上获得黑色边框?

修改

9补丁文件: http://i.imgur.com/LDoBE.png

编辑器工具中的9-patch: http://i.imgur.com/UoydG.png

使用它布局xml部分(leftbordergraybkg):

<LinearLayout
 android:id="@+id/Measurements"
 android:layout_width="0px"
 android:layout_height="match_parent"
 android:layout_weight="50"
 android:background="@drawable/leftbordergraybkg"
 android:orientation="vertical">

1 个答案:

答案 0 :(得分:6)

这是因为显示可缩放区域的黑色像素太靠近图像的边界。这就是为什么在更高的像素密度下,9-patch文件可以扩展和缩放边界。

参见没有此类问题的示例。

enter image description here