앱을 만들다보면 이미지의 모서리를 곡률처리하는 경우가 많은데
오늘은 이 원형뷰를 만드는 방법에 대해 내가 겪은 과정들과 같이 정리해보려고 한다.
drawable폴더에 circle_layout이라는 새로운 xml파일을 만들면 corner, solid, stroke 등 몇가지 속성을 이용해 원형뷰를 만들 수 있다.
corner : 곡률
solid : 내부채움(색)
stroke : 선/테두리(두께, 색)
size : 크기지정
이것은 단순히 원형뷰를 만든 것으로, 이미지를 원형으로 만든것이 아니다.
때문에 레이아웃파일에서 ImageView안에 만들어둔 원형뷰를 background로 지정시 이미지가 원형뷰모양에 맞게 바뀌는 것을 볼 수 있다.
하지만 위방법으로 이미지를 원형으로 만들었들때 문제가 있다.
위 circle_layout파일에서 아무리 stroke를 만져도 뷰의 가장바깥쪽을 기준으로 이미지가 적용되기때문에 테두리가 있는 원형이미지를 만들기 쉽지 않다는 것이다.
나는 해결해보기위해 이미지뷰에 padding을 줘봤지만 그렇게 되면 원형뷰의 모양과 이미지의 모양이 동일하지 않게되기 때문에 완전한 해결이라고 할 순 없을 것 같다.
구글링을 좀더 한 결과 굳이 xml파일을 하나 더 만들어서 원형뷰를 만들 필요는 없었다.
바로 CardView를 사용하는 것이다.
strokeWidth : 테두리의 두께
strokeColor : 테두리의 색
cardCornerRadius : 곡률
외부라이브러리를 끌어와 사용하는 방법도 있지만 CardView로도 충분히 쉽게 만들 수 있기때문에 앞으로 원형테두리이미지를 만들때 CardView를 자주 사용해볼 예정이다.