ImageView 没有在屏幕上获取适量的像素

ImageView not taking the right amout of pixels in screen

我可能遗漏了一些非常明显的东西,但问题是我需要在布局中水平对齐放置 3 张相同大小的图像。由于我的主要测试设备是 nexus5,并且我想避免像素化,所以我将设备的水平分辨率(1080 像素)除以 3……所以每张图像都是 360 像素。但是,当我获取第一张图像时,它占据了整个屏幕的宽度,就好像屏幕的宽度是 360 像素或更小一样。为什么会这样?

这里是 ImageView 的 xml:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/one_circle"/>

通过以下方式获取屏幕尺寸:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

然后,如果它们 3 个大小相同 -

ImageView image1 = (ImageView) findViewById(R.id.imageView);
ImageView image2 = (ImageView) findViewById(R.id.imageView1);
ImageView image3 = (ImageView) findViewById(R.id.imageView2);
image.setX(0); // set it at starting
image2.setX(image.getX()+image.getWidth()); setting it as first image starting X + Width = end of it.
image3.setX(image2.getX()+image2.getWidth());  same like the previous one.

这应该适用于任何 android 设备,而不仅仅是您的设备。我还没有检查过,所以你可能需要修理一些东西。祝你好运