-
[Android] ImageView gray scale filter 적용 및 해제 방법programing/Mobile 2019. 3. 14. 13:13
안녕하세요, Einere입니다.
(ADblock을 꺼주시면 감사하겠습니다.)
ImageView에서, 클릭시 회색빛으로 바꿧다가 다시 클릭하면 원상복구시켜야 할 때가 있습니다.
즉, gray scale filter를 toggle하는 방법을 알아보도록 하겠습니다.
code
myImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ImageView iv_tmp = (ImageView)v; if(iv_tmp.getColorFilter() == null){ // make gray scale matrix ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0); // make color filter ColorFilter colorFilter = new ColorMatrixColorFilter(matrix); // set filter to ImageView iv_tmp.setColorFilter(colorFilter); iv_tmp.setImageAlpha(128); } else{ iv_tmp.setColorFilter(null); iv_tmp.setImageAlpha(255); } } });
ImageView인 myImageView에 onClickListener를 등록하는 방식으로 구현합니다.
클릭된 ImageView가 ColorFilter가 설정되었는지 아닌지 판단하여, 토글을 구현합니다.
'programing > Mobile' 카테고리의 다른 글
[Android Studio] 협업과 Instant Run 관련 에러 해결 방법 (0) 2019.03.30 [Android] dp를 px로 변환하는 법 (0) 2019.03.18 [Android] google play service 문제 해결 방법 (0) 2019.03.10 [Android] PhotoView 사용시 tools:replace문제 해결법 (0) 2019.02.24 [Android] Application을 이용해 Socket Service 관리하기 (9) 2019.01.12 댓글