我正在从图像分辨率约为 150x150 的服务器中获取一些图像,并且我正在向 imageview 显示我的 imageview 宽度和高度是 wrapcontent 它在某些设备(如索尼 xperia e4)中显示,如预期的那样,即默认图像宽度和高度 150x150 服务器提供给我但在nexus6p 和三星 Galaxy Note4 设备,其分辨率约为 1440x2560 560dpi,这些设备向我显示小图像,它没有保持图像的纵横比,所以那里发生了什么或错误如何保持所有设备屏幕的图像纵横比。我的 imageview 参数如下.请帮我解决这个问题。提前致谢。
问问题
82 次
2 回答
1
考虑wrap_content
为“根据需要占用尽可能多的空间”。
假设您有两个 5 英寸设备。一个是 480 x 640,另一个是 1080 x 1920。现在您可以理解,尺寸为 150 x 150 像素的图像在第二个设备中看起来会更小,因为第二个设备的每英寸像素更高,因此 150 在第二个设备中占用的空间更少(这也是在 android 中使用dp
而不是在 android中使用的原因px
)。
于 2016-03-16T12:45:26.320 回答
0
Wrap_Content 会根据移动屏幕的分辨率使您的 imageView 变小/变大。如果要显示可调整到所有屏幕的图像,请在 DPs 中设置 imageview 的宽度和高度。
<ImageView android:id="@+id/img1" android:layout_width="150dp" android:layout_height="150dp" android:layout_gravity="center" android:scaleType="fitXY" android:src="@drawable/ic_launcher" />
如果您希望它们更大/更小,您可以更改 200dp 值。
于 2016-03-16T12:44:21.677 回答