在不同设备上显示图像时出现Android分辨率问题

时间:2013-02-17 12:11:11

标签: android image resolution image-size

我在使用不同屏幕分辨率的设备上显示图像尺寸时出现问题。到目前为止,我注意到尺寸适合'较小'的设备 - 240x320,320x400,400x800(大多数,但不是全部)......但是当我尝试使用时会出现问题,例如,Galaxy S3(其中)是720x1300),即使是400x800左右。

问题是我包装的图像(并在界面上动态放置)不会以原始大小显示。我更进了一步 - 从服务器获取的图像与特定设备所需的大小完全相同 - 我读取屏幕大小并将其发送到服务器,服务器返回所需大小的图像。之后我用以下代码显示它(必须以programmaticaly方式执行):

RelativeLayout rl = new RelativeLayout(context);
LinearLayout.LayoutParams rlLayoutParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
rlLayoutParams.gravity = Gravity.CENTER;
rl.setLayoutParams(rlLayoutParams);

ImageView imageMain = new ImageView(context);
RelativeLayout.LayoutParams imageLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
imageLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
imageMain.setLayoutParams(imageLayoutParams);

rl.addView(imageMain);

正如你所看到的,我还必须使用相对布局,因为其他图像(图标实际上)放在主要图像上(如角落中的徽章),因此LinearLayout没有用......这可能会导致问题?或者,除了屏幕分辨率(屏幕宽度和高度)之外,还有其他必须考虑的参数吗?

在这个问题上的任何经验都会有很大的帮助,所以请告知是否有任何想法...

1 个答案:

答案 0 :(得分:0)

将图像放在drawable-nodpi文件夹中....