Ваша техника, чтобы определить, выглядит ли изображение на портрете, кажется приятным и простым. Есть ли какая-то причина, по которой вы не хотите использовать этот подход? Трудно думать о более логичном решении.
Кстати, вместо того, чтобы поворачивать представление, если ориентация изображения отличается от экрана, в моей галерее я лично по умолчанию «аспект заполнения», если отношение высоты к ширине моего изображения близко к соотношению сторон текущее представление (я думаю, что мой порог составляет 10%), и в противном случае я использую «aspect fit» (и я также даю им интерфейс пользователя для переключения между форматом соответствия и заполнением аспекта, или еще лучше, но вы можете предложить масштабирование). Если пользователь хочет повернуть устройство, чтобы изменить ориентацию, чтобы максимизировать опыт, они могут, но я лично не поклонник принуждения их к этому, если только это не имеет особого отношения к этому (т. Е. Приложение просто не могло " возможно, в другой ориентации).