Android - ImageView показывает изображение из галереи в «пейзаже» - PullRequest
5 голосов
/ 26 января 2012

Во-первых, может быть, слово "пейзаж" не лучшее слово для описания, но сейчас я не могу придумать другое.

Я использую следующий код, чтобы показать изображение в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 ]

2 голосов
/ 26 января 2012

Просто проверьте размеры изображения, если оно выше, чем шире, вы можете повернуть его:
* ** 1003 тысяча два * -er.blogspot.com / 2010/07 / поворот-растрового изображения с помощью-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);
0 голосов
/ 02 мая 2012

android:id="@+id/iv_photo"

android:layout_width="320dip"   

android:layout_height="wrap_content"/>

Используйте это, это может работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...