技術メモ

後で同じ状況が起こった時に思い出せるように技術的なちょっとしたことをメモする。ベストな解ではない。



AndroidのImageViewで画面の幅に合わせて画像を等倍拡大する


AndroidのImageViewで画像を画面の横いっぱいに合わせて等倍して配置するのに少し苦労したのでメモ。

普通にScaleTypeでやると思ったように上手くいかない。
FIT_CENTERとかCENTER_CROPとかにしてもViewのサイズに合わせて等倍されるが、画面のサイズに合わせて等倍はされない。

画面横に合わせて等倍するようにするため、Javaのコードで以下の手順で実装した。

  1. ディスプレイの横幅を取得
  2. 画像の横幅を取得
  3. ディスプレイの横幅÷画像の横幅で拡大倍率を計算
  4. その拡大倍率をImageViewに適用




 

ImageViewのidをimg_view, 使う画像のリソースを@mipmap/imageとした時のコードを以下に示した。

[XMLファイル]


[Javaファイル]





 

縦画面に合わせるのもこの応用で出来る。
もっと簡単な方法があれば教えてください。



タグ: ,
投稿日: 2017年4月16日
最終更新日:





コメントを残す

回答をお約束することは出来ませんので予めご了承ください。
コメントは承認されると表示されるようになります。
コメントを送信する前に「私はロボットではありません」にチェックを入れて下さい。