본문 바로가기
[알아두면 좋을 것들]

Ripple Effect (안드로이드 클릭 효과 / 클릭 애니메이션)

by Hevton 2021. 1. 14.
반응형
<ImageView
	background="효과파일"
	src="기본 이미지"/>

 

background 소스에 Ripple 소스가 담기고

src에는 이미지 파일을 넣으면 된다.

 

 

효과파일

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#BDBDBD" />

ripple은 API 21인 롤리팝부터 사용이 가능하다. 그래서 ripple 부분이 빨간글씨로 오류처럼 보여질 수도 있는데, 신경쓰지않아도 괜찮은 부분이나, 혹시나 신경쓰인다면 아래와 같이 해준다.

<?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="#BDBDBD"
tools:targetApi="lollipop">
</ripple>

targetApi를 롤리팝으로 해줌으로써, 롤리팝(API21) 부터 이 기능이 사용된다고 알려주면 된다.

 

 

그럼 Api 21 이전 버전의 호환은 어떻게 하냐고?

 

drawable-v21 파일의 폴더를 만들고 저 파일을 넣어준다.

그리고 drawable 폴더 안에 같은 이름의 파일을 넣는데, 그냥 아무것도 없으면 된다. 예를 들면

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <!--api 21 미만은 빈 껍데기.-->
</shape>

이렇게, 빈 shape 파일 정도로 놔주면 된다.

 

그러면 안드로이드는, 자신의 버전에 맞게 폴더를 선택하여 사용하게 된다.

 

 

 

참고

ohdbjj.tistory.com/2

dev-dream-world.tistory.com/54

riptutorial.com/android/example/14200/rippledrawable

 

반응형