인터넷에 이미지뷰 라운딩 하는 방법을 검색해보면 다양한 방법들이 나오는데
주로 비트맵으로 변환해서 직접 잘라내거나 하는 아주 복잡하고 힘든 방법들을 쓴다.
하지만 이 방법은 아주 쉽고 간단하게 라운딩을 할 수 있다.!!
특히 이 방법은 ImageView를 포함하고 있는 FrameLayout 등에 적용시켜서 하위 이미지뷰까지 전부 적용시킬 수도 있따.
1. 끝에만 라운딩 하는 법
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android "
android:shape="rectangle">
<corners android:radius="8dp"/>
</shape>
먼저 이런 파일을 drawable 폴더에 만들어준다. 나는 background_rounding.xml 로 했다. radius는 원하는 만큼 설정하면 된다.
ImageView imageView = (ImageView) findViewById(R.id.image_view);
GradientDrawable drawable=
(GradientDrawable) context.getDrawable(R.drawable.background_rounding);
그리고 ImageView와 아까 만든 drawable을 찾는다.
imageView.setBackground(drawable);
imageView.setClipToOutline(true);
그 다음 ImageView의 Background로 등록해주고 setClipToOutline을 True로 설정해주면 끝!
2. 완전 동그랗게 라운딩 하는 법
이건 더 쉽다. 위처럼 따로 xml을 만들 필요도 없다.
imageView.setBackground(new ShapeDrawable(new OvalShape()));
imageView.setClipToOutline(true);
요렇게만 해주면 끝~!
출처: http://chocorolls.tistory.com/47 [초코롤의 개발이야기]
'[ 모바일 관련 ] > 안드로이드' 카테고리의 다른 글
안드로이드 구글 로그인 커스텀 버튼 사용 (0) | 2018.10.14 |
---|---|
안드로이드 앱 종료 방법 (0) | 2018.10.14 |
firebase Authentication과 구글 로그인 연동 (0) | 2018.10.02 |
안드로이드 구글 로그인 연동 (Firebase auth) (0) | 2018.10.02 |
키스토어 SHA1 키 확인하기 (API 사용시 요구하는 경우 사용) (0) | 2018.10.02 |