我在使用不同屏幕分辨率的设备上显示图像尺寸时出现问题。到目前为止,我注意到尺寸适合'较小'的设备 - 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没有用......这可能会导致问题?或者,除了屏幕分辨率(屏幕宽度和高度)之外,还有其他必须考虑的参数吗?
在这个问题上的任何经验都会有很大的帮助,所以请告知是否有任何想法...
答案 0 :(得分:0)
将图像放在drawable-nodpi文件夹中....