【问题标题】:Android: nine-patch is centered on one device, but moves somewhat to the right on anotherAndroid:九个补丁集中在一台设备上,但在另一台设备上稍微向右移动
【发布时间】:2013-04-15 16:11:40
【问题描述】:

我在全屏视图的背景上放置了一个包含九个补丁的图像:

它在 800x480 和 1280x720 屏幕上看起来和我想要的一样:它在左右两侧有一些相等的透明空间。但在全高清屏幕上,左侧的空白空间是右侧空间的两倍。但是我两边只有一个黑色像素,所以净空应该是相等的。

然后我像这样修改了我的图像:

现在它看起来以全高清屏幕为中心,但在 800x480 上移到了右侧。如何使它看起来以所有设备为中心?

现在第一个图像在全高清设备上看起来像这样(这是视图的底部):

第二个:

它们在 800x480 设备上看起来反之亦然。

布局就这么简单:

    ImageView ib = new ImageView(this);
    ib.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    ib.setBackgroundResource(R.drawable.scroll_both_ver);
    setContentView(ib);

更新:解决方案是在每个 drawable-* 文件夹中提供一个副本。

【问题讨论】:

  • 您的 9 补丁在这种尺寸下很难区分。您应该提供带有像素网格的放大版本。
  • 您能否给我们两个设备的屏幕截图,以便我们实际了解发生了什么?谢谢。
  • 请提供完整的布局 xml,因为布局九补丁有时很棘手。

标签: android nine-patch


【解决方案1】:

您的 9 补丁顶部中心黑色区域没有很好地居中,右侧的空间比左侧的空间大。不确定这如何解释您的问题,但请尝试调整它

【讨论】:

  • 我什至删除了那个区域,它没有帮助
  • 要尝试的 2 件事:如果您使用背景颜色而不是图像,它是否会填充该区域 将相同的图像放入 drawable-xhdpi、drawable-dpi 和 drawable-mdpi,确保它不是重新缩放图像的问题
  • 我的图像在 drawable-xhdpi 中,当我将第二个复制到 drawable-hdpi 时,它在 800x480 上开始看起来不错。尽管如此,这并不能解释为什么第一个在 FullHD 上看起来是右对齐的,但现在这并不重要 :)
猜你喜欢
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 2016-08-04
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多