본문 바로가기
Android

[Android] 안드로이드 : 쉐이프 드로어블 만들기

by 꿈나무 김땡땡 2019. 11. 28.

1. 드로어블 (Drawable)

 - 뷰에 설정할 수 있는 객체

 - 드로어블 XML 파일은 /res/drawable 폴더 안에 넣어서 마치 이미지처럼 뷰의 배경으로 설정

 

2. 드로어블 종류

 1) 비트맵 드로어블 (Bitmap Drawable) : 이미지 파일 보여줄 때

 2) 상태 드로어블 (StateList Drawable) : 상태별로 다른 그래픽 참조 (Selector)

 3) 전환 드로어블 (Transition Drawable) : 두 개의 드로어블 간에 바뀌도록

 4) 쉐이프 드로어블 (Shape Drawable) : 색상, 그라데이션을 포함해 도형 모양 정의 (Shape)

 5) 인셋 드로어블 (Inset Drawable) : 지정한 거리만큼 안쪽으로 들어오도록

 6) 클립 드로어블 (Clip Drawable) : 다른 드로어블을 클리핑

 7) 스케일 드로어블 (Scale Drawable) : 다른 드로어블의 크기 변경

 

3. 쉐이프 드로어블

/res/drawable/rect_shape.xml 파일 생성

 

1) 사각형 만들기

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <size android:width="200dp" android:height="120dp"/>
    <stroke android:width="1dp" android:color="#0000ff"/>
    <solid android:color="#aaddff" />
    <padding android:bottom="1dp" />

</shape>

* shape 속성

  • rectangle : 직사각형
  • oval : 타원
  • line : 선
  • ring : 고리

2) 그라데이션 색상 지정하기

<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>

 

3) 테두리만 있는 버튼 배경

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="rectangle">
            <stroke android:width="1dp" android:color="#BE55DA" />
            <solid android:color="#00000000" />
        </shape>
    </item>

    <item android:top="1dp" android:bottom="1dp" 
	android:right="1dp" android:left="1dp">
        <shape android:shape="rectangle">
            <stroke android:width="1dp" android:color="#BE55DA" />
            <solid android:color="#00000000" />
        </shape>
    </item>

</layer-list>

 

댓글