본문 바로가기
Android Studio/Android

Android Studio 그림자 생성

by ksb0511 2020. 3. 24.

안드로이드 스튜디오에서 그림자를 만들 때, 밑에 사진처럼 버튼에 그림자를 다는 경우가 생긴다.

(ex_view, ImageView 등 다양한 뷰에도 사용가능)

 

그림자 박스

그림자를 추가할 때에는 drawable에 xml 파일을 생성해야 한다.

그리고 아래의 코드와 같이 layer-list라는 것을 사용하여 만든다.

layer-list는 차곡차곡 레이어 한다는 의미로 말그대로 쌓는 것을 말한다.

색을 어두운 회색으로 살짝씩 변화를 주면서 자연스럽게 그림자처럼 만드는 원리이다.  색깔은 본인이 수정해도 된다. 가장 처음에 나타나는게 가장 바깥쪽에 있는 것이기 때문에 가장 밝은 그레이색 그리고 점차적으로 어둡게 해주면 된다.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- Drop Shadow Stack -->

    <item>

        <shape>
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#00CCCCCC" />

            <corners android:radius="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />
            <solid android:color="#10CCCCCC" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <item>

        <shape>
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />
            <solid android:color="#20CCCCCC" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />
            <solid android:color="#30CCCCCC" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />
            <solid android:color="#50CCCCCC" />
            <corners android:radius="10dp" />
        </shape>
    </item>

    <!-- Background -->
    <item
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp">
        <shape
            android:shape="rectangle">
            <stroke android:color="#555"></stroke>
            <solid android:color="#ffffff"/>
        </shape>
    </item>

</layer-list>

item을 차곡차곡 쌓아 만드는 형태로 xml 코드를 작성한 다음 이 파일을 넣고 싶은 해당 뷰에 background로 넣어주면 된다.

'Android Studio > Android' 카테고리의 다른 글

Android Studio 팝업창 만들기  (0) 2020.07.22
Android Studio setClipToOutLine() in RecyclerView  (0) 2020.04.10
Android Studio Room Database  (0) 2020.04.02
Android MVVM Architecture  (0) 2020.03.27
Activity의 생명주기  (0) 2020.02.29

댓글