結構ハマったのでメモ。
imageviewの画像が回転したりはみ出して表示したりされてしまったので調査。
画像と一緒に保存されているExifフォーマットの中に”Orientation”という属性があり、その値によって表示される向きやサイズが変わってしまうんだそう。
ここまでは比較的すぐわかったが、ハマったのはこの後。
https://qiita.com/murapon/items/1a39746cd4aab7b2c245
↑こういった記事を参考にさせていただきながらOrientation値を取得しようとするが、なぜかすべて 0 になってしまう。
原因はよくわからなかったが、画像表示の命令文を変えたら問題なく表示された。
Orientationに依存しない表示方法なのかもしれない。
ハマった命令文
val inputStream = context.contentResolver.openInputStream(Uri.parse(uri))
imageView.setImageBitmap(BitmapFactory.decodeStream(inputStream))//bitmapを表示
うまくいった命令文(Orientation値に影響されない?)
imageView.setImageURI(Uri.parse(uri))//uriから直接
ただ、私の機種固有の問題かもしれないので、原因は探る必要ありか。
原因わかったら追記します。