본문 바로가기

소프트웨어 /안드로이드[Java]

[Android] 버튼 커스텀 하기 - Ripple Effect 방법

반응형

버튼 클릭 시 ripple 효과 주려고 한다.

Ripple 효과는 버튼을 눌렀을 때 눌린 곳 부터 다른 색으로 점점 퍼져나가는 효과이다.

 

먼저 res - drawble 폴더에 btn_ripple_effect.xml 파일을 만들어 준다.

 

 

<btn_ripple_effect.xml>

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#0768B5">
    <item android:id="@android:id/background">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
</ripple>

 

xml 파일을 작성 한 후 activity_main.xml 파일로 이동해 버튼을 하나 만들어 준다.

 

<activity_main.xml>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_ripple_effect"
        android:padding="5dp"
        android:text="버튼을 클릭하세요."/>


</LinearLayout>

 

 

작성하면 위처럼 버튼이 하나 만들어지게 된다.

여기서 버튼의 효과를 주기 위해서 처음에 만들어 둔 btn_ripple_effect.xml 파일을 버튼의 background에 넣어준다.

 

그리고 확인해 보면,,

 

처음엔 흰색 배경의 버튼이 보이지만 클릭 하면 물결모양으로 파란색이 퍼져나가는 것을 볼 수 있다.