210202
[View] 쉐이프 드로어블(ShapeDrawable) 정리 본문
쉐이프 드로어블이란?
- xml로 도형을 그릴 수 있도록 해줌
쉐이프 드로어블 이용
최상위 태그를 <shape>로 바꾸면 도형을 정의할 수 있다. shape 태그에는 shape 속성이 들어갈 수 있고 rectangle(직사각형), oval(타원), line(선), ring(고리)를 사용하여 모양을 정할 수 있다. 또한 도형의 테두리 선에 대해 굵기나 색상을 지정할 수 있고 도형을 채우는 색상을 지정할 수 있다. <stroke> 태그를 <shape> 태그 안에 넣어서 테두리 선의 속성을 지정할 수 있고 width는 선의 굵기, color는 선의 색상을 설정 할 수 있다. <solid> 태그로 도형의 안쪽을 채울 수 있다.
<gradient> 태그를 통해서 배경에 그라데이션을 줄 수 있다. startColor에는 시작 부분의 색상, centerColor에는 가운데 부분의 색상, endColor에는 끝 부분의 색상을 지정할 수 있다.
Ex Code - gradient
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#7288DB"
android:centerColor="#3250B4"
android:endColor="#254095"
android:angle="90"
android:centerY="0.5"
/>
<corners android:radius="2dp" />
</shape>
또한 <layer-list> 태그를 사용하여 여러 그래픽을 하나의 xml 파일에 넣을 수 있다.
<layer-list> 태그 안에는 <item> 태그가 여러개 들어갈 수 있으며 <item> 태그 안에는 <shape> 태그가 들어갈 수 있어 각각을 도형으로 정의할 수 있다.
만약 버튼의 테두리만 보이게 하는 드로어블을 만들고 싶다면 도형 안족을 투명하게 채우고 테두리 선만 색상을 주면 된다.
'Android > View' 카테고리의 다른 글
[View] 나인패치 이미지란 & 사용방법 (0) | 2020.06.01 |
---|---|
[View] ConstraintLayout에서 View사이의 체인의 길이를 줄이는 법 (0) | 2020.05.29 |
[View] 상태 드로어블(StateListDrawable) 정리 (0) | 2020.05.29 |
[View] android:layout_gravity와 android:gravity의 차이점 (0) | 2020.05.29 |
[View] 자주 사용하는 레이아웃들( LinearLayout, RelativeLayout, FrameLayout) (0) | 2020.05.29 |
Comments