본문 바로가기
개발 공부 기록하기/- Android

View 이벤트 번짐효과 (ripple effect) 주기

by soulduse 2017. 5. 11.
반응형


안드로이드 버튼 터치/클릭시 위의 그림과 같이 효과를 주고 싶은 경우가 있다.


그럴때 어떻게 다음과 같은 효과를 줄까 찾아보게 되었다.


크게 두가지 간단한(?) 방법이 있는데


첫번째


아래의 내용을 이벤트를 주고자하는 view xml에 넣는다.

android:clickable="true"
android:background="?attr/selectableItemBackground"


두번째



다음과 같이 drawble forder 내에 ripple_effect.xml 파일을 만들어(이름은 마음대로 작명) effect 효과를 커스텀 하여 넣는 것이다.


ripple_effect.xml 예제 소스는 다음과 같다


<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/calcu_ripple_background"
tools:targetApi="lollipop"> <!-- ripple effect color -->
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<solid android:color="@color/calcu_numbers_background" /> <!-- background color -->
</shape>
</item>
</ripple>

원하는 색상과 모양 타겟버전 등을 커스텀 할수 있다.


이후에는 effect효과를 주고싶은 뷰안에 


android:background="@drawable/ripple_effect"

백그라운드 값을 커스텀한 값으로 변경해주면 완성!



간단하지 않는가? 





조금 더 자세한 정보를 원하시는 분은 공식홈페이지에서 참조 가능하다

반응형