1) FrameLayout같이 좌표를 자유롭게 지정 가능하다.
2) android sdk 24.1.0(Nougat)에 포함되어 있다.
3) 한 개의 parent 아래 포함된 여러 개의 child view를 behavior라는 것을 이용해서 다양한 애니메이션 효과를 표현해 낼 수 있다.
출처 : http://areemak.blogspot.com/2018/04/blog-post.html
기본적으로 제공되는 behavior
출처 : http://dktfrmaster.blogspot.com/2018/03/coordinatorlayout.html
사용방법 :
*scrollFlags에 설정한 옵션들 설명
예제 코드)
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<RelativeLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#323145"
app:layout_scrollFlags="scroll|enterAlways|snap">
<ImageView
android:id="@+id/iv_btn_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
android:background="@drawable/ic_menu" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/iv_btn_menu"
android:text="제목"
android:textColor="#ffffff"
android:textSize="20dp" />
</RelativeLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#ffffff"
app:tabPaddingEnd="-1dp"
app:tabPaddingStart="-1dp"
app:tabIndicator="@null"/>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/fl_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
위와 같이 설정하면
layout_title이라는 id의 RelativeLayout은 스크롤이 적용되고 아래쪽 tabLayout은 적용되지 않아 탭은 위쪽으로 스크롤했을 때 사라지지 않고 RelativeLayout만 사라진다. 때문에 걸리는 느낌이 난다.
recyclerView 갱신할 때 깜빡거림 없애는 방법 (0) | 2020.07.31 |
---|---|
CustomTab 만들기 (0) | 2020.07.29 |
android 클릭할 때 ripple effect 주기 (0) | 2020.07.28 |
statusbar 색상 변경방법 (0) | 2020.07.28 |
간단 DrawerLayout 사용법 (0) | 2020.07.28 |