마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

fitCenter 스케일로 생긴 여백크기를 구하고싶습니다.

0 추천

제가 접근법이 잘댄거인줄은 모르겠지만

Matrix로 이미지회전할때 기기별 dp때문에 이미지크기,이미지위치,이미지회전위치가 달라져서

기준기기하나잡고 실행된 기기의 dp를 구해서 배율을 구하고 이미지크기와 곱해줘서

비트맵이미지를 기기별로 맞춰줬습니다.


비트맵이미지 뒤로 이미지뷰는 현재 fitCenter로 스케일링되있습니다만

비율을 맞추느라 좌우에 여백이 생긴상태고 이 여백의 크기를 구하고싶습니다!

예림이그코드좀바바 (2,470 포인트) 님이 2015년 1월 30일 질문

2개의 답변

+2 추천
 
채택된 답변
걍 손수 계산하시는게.....

ImageView.getWidth() 랑 getHeight() 로 크기 구하시구...

이미지는....

BitmapFactory Options 에 보시면 just bounds 인가 하는 옵션 있습니다. 말 그대로 '그냥 바운드만 읽겠다' 라는 옵션입니다. 이걸루 원본 이미지 가로/세로 사이즈를 구할 수 있습니다.

이제 이미지뷰 가로/세로 사이즈, 이미지 가로/세로 사이즈 다 구해졌으니 계산만하시면 되겠습니다...
비애천사 (12,080 포인트) 님이 2015년 1월 30일 답변
예림이그코드좀바바님이 2015년 3월 2일 채택됨
justbounds를 xml상에서 imageview옵션에서 줬었는데 그대로더라고요..
이미지는 bit맵따로 다시그려준게아니고 그냥 이미지뷰그대로 가져다쓰고있습니다.
물론 제가 xml 에서 사용하는 모든 attr 을 다 알고 있는건 아니지만... 말씀하시는 xml상에서 옵션을 주셨다는부분은 아닌거 같습니다.
본문에 말씀드렸다싶이 제가 말한 just bounds 옵션은 BitmapFactory.Options 클래스에 있는 맴버변수 입니다. xml 같은거랑은 관계가 없습니다. 특히나 ImageView 랑은 더더욱이....;;;
넵 비트맵으로 그려서 공백빼줘서 해결했습니다..
답변 감사드립니다.
+1 추천
좌측 여백의 Width = (레이아웃.getWidth() - ImageView.getWidth()) / 2;

이렇게 하면 쉽게 구해질텐테요
nicehee (73,100 포인트) 님이 2015년 1월 30일 답변
보기엔 간격이 확 느껴지는데
레이아웃 크기랑 이미지뷰 크기가 동일하게나오더라고요..
...