我正在尝试在android中显示图像。需要从服务器获取图像。什么应该是确保存储在服务器上的图像适合所有Android设备屏幕的最佳方法。在显示XML的图像中,我还需要显示文本视图(在图像下方),以便给出关于图像的简要描述。我是否必须创建具有特定高度和宽度的图像,还是有其他方法?
答案 0 :(得分:1)
您应该在服务器上存储足够大的图像。
// Know the required width of the image
URL url = new URL(remotePath);
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
inputStream = (InputStream) urlConnection.getContent();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(inputStream, options);
int height = options.outHeight;
int width = options.outWidth;
int sampleSize = requiredWidth / width; // Calculate how you want to sample the images so you can keep the memory small
options.inSampleSize = sampleSize;
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, options);
imageView.setImageBitmap(bitmap);
希望这有帮助。
答案 1 :(得分:0)
如果您只想在该屏幕上显示其下方的图片和说明,您可以将2个组件放置在LinearLayout
的方向垂直,并使用{{1}的layout_weight
属性例如,你可以这样做:
LinearLayout
您可以手动从服务器下载图片,也可以使用UIL或webImageLoader等库。