values-v21 vaules에 각각 styles등록하여 버전별 동작가능하게


머티리얼 디자인 지원 라이브러리 appbarlayout collapsingtoolbarlayout 

coordinatorlayout floatingactionbutton navigatorview snackbar tablayout 

textinputlayout


5.0롤리팝api21↑ Theme.Material 지원 <style name="AppTheme" 

parent="android:Theme.Material">...</style>


v7 appcompat Theme.AppCompat 테마 이용시 머티리얼 디자인 테마 적용

(edittext spinner checkbox radiobutton checkedtextview switchcompat)


api21 미만 불가한 기능

(액티비티 전환, reveal애니메이션, elevation shadow, ripple event, 곡선 모션)


Theme.Material 사용시 Ripple Effect 적용됨 

android:selectableItemBackground도 마찬가지


Drawable에 리플 이펙트 적용

<ripple xmlns~ android:color="@color/accent_dark"><item>

<shape android:shape="oval">

<solid android:color="?android:colorAsscent"/>

</shape></item></ripple>


터치 포인트에 리플 이펙트 시작 

drawableHotspotChanged콜백 Drawable에 터치 위치 전달


오픈소스 리플 이펙트

https://github.com/traex/RippleEffect

https://github.com/balysv/material-ripple


팔레트 Pallette p = Pallette.from(bitmap).generate(); 

p.getVibrantSwatch().getRgb();

vibrant 선명한 muted 부드러운


support design 

implementation 'com.android.support:design:23.2.1'


NavigationView(좌측 메뉴) 

tablayout(탭레이아웃 viewpager와 사용권장)

toolbar(상단액션바) 

coordinatorlayout(스크롤 뷰 위치 크기 동적 관리 ex콜랩스 툴바)


<coordinatorlayout><appbarlayout><collapsingtoolbarlayout> 

<toolbar/> <include layout""/>

</collapsingtoolbarlayout></appbarlayout></coordinatorlayout>


appbarlayout의 자식요소(collapsingtoolbarlayout)에는 app:layout_scrollFlags를 설정하여 스크롤 시 동작 지정가능(tech12/coordinatorLayout02)

scroll|exitUntilCollapsed 아래로 minHeight까지 작아짐 위로 maxHeight까지

scroll|enterAlways 아래로 minHeight관계없이 사라짐 위로 바로 표시(퀵 리턴)

scroll|enterAlwaysCollapsed 아래로 minHeight관계없이 사라짐 위에서 당기면 표시


floatingactionbutton(둥근버튼) snackbar(하단 팝업 토스트)

floatingactionbutton 

app:layout_anchor="@id/app_bar" 

app:layout_anchorGravity="bottom|end" 위치 지정

앱바가 최소 크기에 가까워지면 fab도 숨겨짐

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,