본문 바로가기

Android/Knowhow

android Lollipop black image / 롤리팝에서 라운딩 이미지가 검정색으로 나올때

갤러리에서 선택한 이미지를 라운딩하여 프로필 사진으로 등록하는 기능을 구현중이다.









구글링해보니 별개의 Drawable 클래스를 만드는 등 복잡한 방법들이 난무하다.


분명 안드로이드라면 간단히 해결할 수 있는 객체가 지원될텐데.. 


이상하다고 생각하여 안드로이드 개발자 웹에서 검색해보니 아래와 같이 좋은것이 있다.

RoundedBitmapDrawable








깔끔하게 단 몇줄의 코드만으로 라운딩 이미지를 출력할 수 있다.


1
2
3
4
5
    private void setRoundedProfileImage(Bitmap bitmap) {
        RoundedBitmapDrawable result = RoundedBitmapDrawableFactory.create(getResources(), bitmap);
        result.setCircular(true);
        mProfileImage.setImageDrawable(result);
    }
cs








그런데 왜 이미지뷰가 검정색으로 나오지?  혼란스럽다. 마치 내 속도 까맣게 타들어가는것 같아.








롤리팝 버전에서만 나타나는 버그라고 한다. 원인은 Hardware Acceleration!!!


           

1
 mProfileImage.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
cs







해결!! ㅎ.ㅎ








해답을 구할 수 있었던 출처

https://github.com/hdodenhof/CircleImageView/issues/31