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

时间:2014-05-22 04:07:57

标签: android image dynamically-generated adaptive-design

我正在开发一款动态处理启动画面的应用。事实上,我们只能在服务器上上传一张背景图片,所以在服务器端我需要准备这张图片以适应不同类型的设备。

我似乎找不到能够覆盖所有Android设备的精确图像分辨率列表(以px为单位)(与iPhone相比,分辨率通常看起来非常低)例如,通常不包括平板电脑)。

有没有人有这些信息所以我可以设置服务器从我上传的独特图片生成不同的分辨率然后我可以检索任何适合我正在处理的设备(通过传递有关大小的相关信息)?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我认为您只需要1张图片,这是您的应用可能显示的最高分辨率,
然后你可以在dp中将ImageView的layout_width和layout_height指定为你喜欢的大小(或者我认为如果它是一个泼溅的话,它就会填充它) 我认为它会自动调整图像大小

你是如何获取图像背景的呢? 我做了同样的事情,我把最大的分辨率放在服务器上,使用UrlImageViewHelper获取图像,它会自动调整大小,在不同的布局中
所以只有一个图像用于启动画面背景? 我认为更好的方法是将图像放入包装中,第9张图像可以很好地支持不同的屏幕显示


或者,如果你真的坚持要从服务器上获取它(你有不同分辨率的相同图像), - 根据屏幕尺寸以编程方式指定您的首选宽度和高度 - 它周围(因为各种屏幕尺寸可能会在像素中生成不同的尺寸),并将宽度和高度添加到image_url字符串(
(例如:http://myServer.com/images/myImage300x600.jpghttp://myServer.com/images/myImage500x800.jpg等)
- 确保您的服务器按名称具有所需的图像

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

答案 1 :(得分:0)

从你这边可能吗?

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

2。)将一些标识符参数从您的身边传递到服务器端,根据设备识别您的图像。

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

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