-CoordinatorLayout 과 AppBarLayout 은 child 관계
-AppBarLayout과 CollapsingToolbarLayout 은 child 관계
-AppbarLayout안 Toolbar삽입시 Toolbar안 또다른 레이아웃을 추가하는 건 안드로이드 비추천
-CoolapsingToobarLayout 에
layout_scrollFlags = "scroll|exitUntilCollapsed"
minHeight="300dp"
구성하면 해당 minHeight만 남기고 AppBar가 모두 올라감
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
Appbar안에 해당하는 레이아웃은
CoordinatorLayout 안 AppBarLayout안에서지정
내경우엔 탭뷰페이져+리사이클러뷰를 보여줄것이므로
탭레이아웃은 스크롤이 올라갈때 앱바에서 보여질 minHegith로 ?attr/appbarSize 로
탭아이템크기를 맞쳐서 탭레이아웃만 남겨지고 스크롤이 모두 올라간다
탭아이템은 남기기위해 앱바레이아웃에 넣어주고
뷰페이져에 해당하는 내용은 앱바레이아웃 밖으로 배치했다
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@color/color_white"
android:fitsSystemWindows="true">
<!--CollapsingToolbarLayout 시작-->
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_white"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/godom"
android:text="우리가"
android:textSize="28sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/godom"
android:text="추천하는"
android:textColor="@color/color_point"
android:textSize="28sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/godom"
android:text="신선함은?"
android:textSize="28sp" />
</LinearLayout>
<!--이미지배너-->
<ImageView
android:id="@+id/image_b"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/main" />
</LinearLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="bottom">
<com.google.android.material.tabs.TabItem
android:id="@+id/tab_dog"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="상품1" />
<com.google.android.material.tabs.TabItem
android:id="@+id/tab_cat"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="상품2" />
</com.google.android.material.tabs.TabLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<include
android:id="@+id/nested"
layout="@layout/shop_pc_scrolling" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
'안드로이드' 카테고리의 다른 글
[안드로이드] FragmentDialog로 값전달 (0) | 2020.09.10 |
---|---|
[안드로이드] onCreateDialog DataBinding 데이터바인딩 쓰기 (0) | 2020.09.03 |
[android] progress 속성 (0) | 2020.08.18 |
안드로이드 OutOfMemoryError: (0) | 2020.08.12 |
[android] RecyclerView ScrollView 맨위 / 맨아래로 자동 스크롤 (0) | 2020.07.15 |