CollapsingToolbarLayout์ ํ์ ์๋ ๋ทฐ๋ค์ ๋์ด ์์์ ์๋ฏธ๋ฅผ ์์ง ๋ชปํ๋ค.
์์ ์ฝ๋๋ค์ ๋ณด๋ฉด CollapsingToolbarLayout ์์ ๋งจ ๋ง์ง๋ง์ Toolbar ์์ ฏ์ ๋ฃ๋๋ฐ, ๊ทธ ์ด์ ๋ฅผ ๋ฑํ ์ ์๊ฐ ์์๋ค.
์ด๋ฒ์ ์์ ํ๋ฉด์ ์ฌ๋ฌ ์ฝ์ง์ ํ๋ฉฐ ์๊ฒ๋์๋ค.
์์
์ฒ์ ์ง์ ํ๋ฉด ๋์ค๋ ํ๋ฉด. ์ด์ ํ๋ฉด์ ์๋ก ์คํฌ๋กคํ๋ฉฐ ๋น๊ตํ๋ค.
CollapsingToolbarLayout ์์ pin ๊ณ ์ ๋ Toolbar ์์ ฏ์ด ์ต์๋จ์ ์๋ ๋ทฐ์ผ ๊ฒฝ์ฐ
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:elevation="0dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
<!--์ต์๋จ์ ์์น-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/ActionBar.Back"
android:layout_width="match_parent"
app:layout_collapseMode="pin"
app:title="์ฌ๊ธฐ" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/banner"
android:layout_marginTop="@dimen/toolbar_height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="230dp"/>
</com.google.android.material.appbar.CollapsingToolbarLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="45dp" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
pin ๋ ํด๋ฐ ์์ญ๋งํผ ๋ทฐํ์ด์ 2์์ญ์ด ๋ณด์ธ๋ค.
CollapsingToolbarLayout ์์ pin ๊ณ ์ ๋ Toolbar ์์ ฏ์ด ์ตํ๋จ์ ์๋ ๋ทฐ์ผ ๊ฒฝ์ฐ
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:elevation="0dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/banner"
android:layout_marginTop="@dimen/toolbar_height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="230dp"/>
<!--์ตํ๋จ์ ์์น-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/ActionBar.Back"
app:navigationIcon="@color/transparent"
android:layout_width="match_parent"
app:layout_collapseMode="pin"
app:title="์ฌ๊ธฐ" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="45dp" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
pin๋ ํด๋ฐ ์์ญ๋งํผ ํด๋ฐ๊ฐ ๋ณด์ธ๋ค.
CollapsingToolbarLayout์ด FrameLayout๋ฅผ ์์๋ฐ์์ ๊ทธ๋ฐ๊ฐ ๋ด.
public class CollapsingToolbarLayout extends FrameLayout {
...
}