Glacier's Daily Log

Android) 안드로이드 View에 그림자 효과 주기 - elevation 를 사용한 간단한 shadow effect 본문

Coding/Android

Android) 안드로이드 View에 그림자 효과 주기 - elevation 를 사용한 간단한 shadow effect

h__glacier_ 2020. 5. 17. 09:02
반응형

오랜만에 안드로이드 앱 업데이트를 진행하려고 Android Studio를 켰다.

AdMob 계정에 다시 활기가 찾아오고

곧 광고 게재 제한도 풀릴 것 같아서

어플 개발과 출시한 어플 업데이트를 진행 하려고 한다.

 

우선 가장 먼저 진행할 사안은,

"의무경찰 성적표"

 

의무경찰 성적표 - 의경 전역일 계산기 앱, 내 군생활은 몇등급일까? - Google Play 앱

현재 방범순찰대 복무중인 의경이 직접 개발하여 실제 필요한 정보만 모았습니다. 내 군생활은 몇등급인지, 지방청 인력풀 지원 여부까지 한눈에 확인하세요 :) 깔끔한 디자인으로 용량을 최소�

play.google.com

어플 버그수정 및 디자인 개선.

 

수정 목록

- 화면이 큰 기기에서 인트로 로고가 가운데 정렬이 되지 않는 문제 -> layout:gravity="center" 값을 줌으로서 해결

- 결과창에 그림자효과 넣기 -> 이번 포스팅의 주제


안드로이드 스튜디오에서, View 객체 (Linearlayout, Relativelayout, ImageView, TextView,,, etc) 에

그림자 효과를 넣고싶을 때는

android:elevation="Xdp"

를 이용해서 매우 쉽게 구현할 수 있다.

 

단, elevation은 Android API 21 이상에서 작동한다.

(Android 5.0 Lolipop 이상)

디자인 변경 전

난 여기서 저 하늘색 테두리로 둘러싸인 부분과, 상단에 '의무경찰 전역일 계산기' 라고 적힌 박스에

그림자 효과를 주려고 한다.

 

매우 간단하다.

각 뷰에 해당하는 코드에

android:elevation="10dp"

라는 코드를 넣어주면 바로 적용된다.

10dp 라는 부분이 그림자의 두께를 결정하는 것이다.

여기서 주의할점은, background 값이 있어야 한다.

background를 기준으로 그림자를 형성하기 때문에,

color 값을 잡아주거나, 따로 xml을 만들어 background 값을 잡아주지 않으면 작동하지 않는다.

또한 stroke 값도 잡아주면 안된다.

테두리가 있으면 그림자 효과를 무시하게 된다.

elevation 값을 주고 난 다음 모습

이렇게 매우 깔끔하게 그림자 효과가 주어진 것을 볼 수 있다.

이렇게 간단하게 그림자 효과를 줄 수 있을 지 몰랐다.


이렇게, 간단한 코드 한줄 만으로

UI를 상당히 세련되게 만들어 줄 수 있다.

반응형
Comments