Android - ImageView在“风景”中显示图库中的图像

时间:2012-01-26 18:46:00

标签: android image landscape portrait

首先,也许“风景”不是更好的词语,但我现在想不到另一个。

我正在使用以下代码在ImageView中显示图像,但我在“肖像”(抬头)中使用该设备拍摄的图像显示为侧面。

我的代码:

mImageView  = (ImageView) findViewById(R.id.iv_photo);

Uri u = Uri.parse("content://media/external/images/media/7");
mImageView.setImageURI(u);

XML:

<ImageView
    android:id="@+id/iv_photo"
    android:layout_width="wrap_content"          
    android:layout_height="wrap_content"/>

是的,“content:// media / external / images / media / 7”是一条有效路径。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

只需检查图像的尺寸,如果尺寸比较宽,则可以旋转它:
http://android-er.blogspot.com/2010/07/rotate-bitmap-image-using-matrix.html

相关位是:

  bitmap = BitmapFactory.decodeFile(imageInSD);
  bmpWidth = bitmap.getWidth();
  bmpHeight = bitmap.getHeight();

  Matrix matrix = new Matrix();
  matrix.postScale(curScale, curScale);
  matrix.postRotate(curRotate);

  Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight, matrix, true);
  myImageView.setImageBitmap(resizedBitmap);

答案 1 :(得分:0)

android:id="@+id/iv_photo"

android:layout_width="320dip"   

android:layout_height="wrap_content"/>

使用它可能有效