我在全屏 View 的背景上放置了一张九补丁图像:
它在 800x480 和 1280x720 屏幕上看起来就像我想要的那样:它在左右两侧有一些相等的透明空间。但是在全高清屏幕上,左侧的空白空间是右侧空间的两倍。但是我两边只有一个黑色像素,所以净空间应该是相等的。
然后我像这样修改了我的图像:
现在它看起来在全高清屏幕上居中,但在 800x480 上移到了右边。如何让它在所有设备上看起来都居中?
现在第一张图片在全高清设备上看起来像这样(这是 View 的底部):
第二个:
它们在 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 patch top center black area 没有很好地居中,它右边的空间比左边大。不确定这如何解释你的问题,但尝试调整它
关于Android:九补丁在一台设备上居中,但在另一台设备上稍微向右移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019892/