2013-02-26 91 views
0

我是一名设计师,目前正在与我的开发人员合作开发Android应用程序,该应用程序基本上加载了一个ImageView,我们希望在其底部应用1px的灰色边框,底部有2像素的投影。Android 9补丁奇怪行为

我已经创建了一个开发人员应用于ImageView的9补丁文件,但是我注意到Android似乎将边框加倍。

这里是9修补图像:http://imgur.com/l1yXTyr

这意味着,现在它不再在顶部1px的边框,左,右。它将其设置为左侧2px和右侧3px!

于是,我问你华丽的个人聪明 -

  1. 这是与9修补程序创建在于一个问题?
  2. 如果这可以通过代码完成,你能指出我在正确的方向吗?

非常感谢大家回复指点和建议。这是非常赞赏。

+0

它被添加为ImageView的'src'还是'background'?它应该是'背景'。 – Geobits 2013-02-26 03:54:42

+1

如果您发布9贴片图像 – 2013-02-26 04:05:52

+0

我会喜欢添加我的9贴片,但我不能。没有足够的代表点! – 2013-02-26 05:12:56

回答

2

我想你把9-patch drawable放在res/drawable-mdpi中,然后在hdpi设备上运行应用程序。 Android可以放大drawable,这几乎总是不是你想要的。

有两个解决方案,取决于你的9补丁的样子:

  1. 如果9补丁只是1px的框架和2px的影子,也没有说应该缩放区域(例如填充),您可以将9-patch放在drawable-nodpi文件夹中。
  2. 如果某些区域应该缩放,并且您希望在每个设备上都有1px的帧,则必须针对每个像素密度准备9块补丁,并使用适当调整大小的可缩放区域和1px帧。