我可能会遗漏一些非常明显的东西,但问题是我需要在布局中将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"/>
答案 0 :(得分:0)
通过以下方式获取屏幕大小:
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设备,而不仅仅是你的设备。我还没有检查过,所以你可能需要修理一些东西。祝你好运