2015-10-29 6 views
0

Я создаю приложение «галерея». У меня проблема с ориентацией изображений. Я создал изображения (камеру) и считаю, что правильно установил ориентацию. Он может быть показан во встроенной галерее и в моем приложении на разных устройствах.Узнайте, будет ли ImageView уважать ориентацию

Странно на Sony Xperia, ImageView моего приложения не показывал правильно (встроенная галерея показала правильно). Затем я попытался установить матрицу вращения для ImageView и установить scaleType в матрицу, но она все еще не работает. Мне пришлось сначала повернуть Bitmap, прежде чем поместить его в ImageView.

Итак, вот вопрос. Как проверить, будет ли ImageView работать сама по себе, или нет (и тогда код должен делать то, что он должен делать). Я не верю, что это версия для Android. Моя Sony Xperia - Android 4.4.4.

ответ

0

Вы можете повернуть растровое изображение в ImageView, используя приведенный ниже код

BitmapFactory.Options bmOptions = new BitmapFactory.Options(); 
    // Decode Image using Bitmap factory. 
    Bitmap bMap = BitmapFactory.decodeFile(uriimage.getPath(), bmOptions); 

    // Create object of new Matrix. 
    Matrix matrix = new Matrix(); 

// установить ротацию согласно вашему требованию matrix.postRotate (90);

// Create bitmap with new values. 
    Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), 
      bMap.getHeight(), matrix, true); 

// теперь установить растровое изображение в ImageView imageview.setBitmap (bmapRotate);

Надеется, что это поможет вам

0

Прасад спасибо.

Сразу после размещения вопроса, я нашел (в SO) легкое решение также для Sony Xperia.

Использование: imageView.setRotation (ориентация); Найдено здесь: https://stackoverflow.com/a/14509371/1614089