상세 컨텐츠

본문 제목

확대 축소가 되는 ImageView와 Android 9에서의 오류 수정

팁/안드로이드

by 강효재 2020. 7. 24. 16:34

본문

참고한 TouchImageView :https://github.com/nowfloats/ANAChat-Android/blob/master/anachatsdk/src/main/java/com/anachat/chatsdk/uimodule/utils/TouchImageView.java

 

nowfloats/ANAChat-Android

Integrate Ana chat bot into your android application - nowfloats/ANAChat-Android

github.com

해당 ImageView를 custom하여 사용하던 중 Android 9이상에서 오류를 발견하여 수정점을 기록한다.

 

1) 현상 : 

* 이미지가 최초 아무것도 안나오고 축소나 확대의 제스처를 취해야만 이미지가 나온느 현상 발견됨.

 

2) 해결법 : translateMatrixAfterRotate 메소드에서

float percentage = (Math.abs(trans) + (0.5f * prevViewSize)) / prevImageSize;

m[axis] = -((percentage * imageSize) - (viewSize * 0.5f));

 

부분을 수정 ((percentage * imageSize) - (viewSize * 0.5f) 값이 숫자가 아니게 나오는 현상때문에 isNan함수를 사용해 분기)

float percentage = (Math.abs(trans) + (0.5f * prevViewSize)) / prevImageSize;
boolean isNan = false;

if(Float.isNaN((-((percentage * imageSize) - (viewSize * 0.5f))))){
isNan = true;
} else {
isNan = false;
}
if (!isNan)
m[axis] = -((percentage * imageSize) - (viewSize * 0.5f));

 

위 방법으로 해결함.

관련글 더보기