从服务器检索图片到Android设备时如何处理不同的屏幕尺寸

3
我正在开发一款应用程序,其启动屏幕将由动态处理。问题在于,服务器上只能上传一张背景图片,因此在服务器端,我需要准备这张图片以适应各种不同的设备。
然而,我似乎找不到一个准确的图像分辨率列表(以px为单位),可以涵盖更多或更少所有的Android设备(与iPhone相比,分辨率通常非常低,并且通常不包括平板电脑)。
有没有人了解这些信息,以便我可以设置服务器生成不同的分辨率,从我上传的唯一图片中检索出适合当前设备的内容(通过传递相关大小信息)?
提前致谢。

您可以获取设备的确切“高度”和“宽度”,并将其发送到服务器,按分辨率生成图像。 - M D
2个回答

1
我认为你只需要一个图片,最大分辨率应该是你的应用程序可能显示的大小, 然后你可以指定ImageView的layout_width和layout_height为你喜欢的dp大小(如果是启动画面,我认为它是fill_parent), 我认为它会自动调整图片大小。
顺便问一下,你如何获取背景图片? 我也做了同样的事情,将最大分辨率放在服务器上,使用 UrlImageViewHelper 获取图片,并在不同的布局中自动调整大小。
所以你只会使用一个图片作为启动画面的背景吗? 我认为更好的方法是将图片放在你的包中,9patch 图片可以很好地支持不同的屏幕尺寸。

如果您坚持从服务器获取图片(您有不同分辨率的相同图片),
请根据屏幕大小编写程序指定您首选的宽度和高度
将其舍入(因为各种屏幕尺寸可能会生成不同的像素大小),并将宽度和高度添加到image_url字符串中(
(例如:http://myServer.com/images/myImage300x600.jpg, http://myServer.com/images/myImage500x800.jpg ,等等)
确保您的服务器按名称拥有所需的图像

但由于设备屏幕尺寸的多样性,我认为图像仍然需要调整大小,以便填充容器


0

从你的角度来看,这是可能的吗?

1.) 首先获取设备大小并进行服务器调用,传递设备类型/大小/标志或某些标识符。

2.) 从你的一侧传递一些标识符参数到服务器端,根据设备识别你的图像。

3.) 服务器端设置多个相同的图像。

4.) 根据您的设备大小设置响应。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接