这种折叠式的效果,感觉确实挺不错的,抽点时间,看了几篇文章,整理一下,这里主要就是整理了一个CoordinatorLayout+AppBarLayout+TabLayout的简单用法Demo。关于更多用法后期再细看吧~
其实主要就是布局设置一些行为就行了:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_scrollFlags="scroll|enterAlways"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@android:color/transparent" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
外出布局就用CoordinatorLayout就好了,里层套一个AppBarLayout。这里我把AppBarLayout看成是一个垂直方向的LinearLayout。demo里也结合了一个轮播图。
轮播图设置了属性:
app:layout_scrollFlags="scroll|enterAlways"
scroll用法:大体意思就是当该View滑到顶部的时候,不会停留,会继续划出屏幕。
enterAlways用法:大体意思就是当往回滑动时,会立刻先显示出该View。如果不写的话,就只有当屏幕滑动到最底的时候,该View才会跟随显示出来。
viewPager主要增加的属性:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
ViewPager当然就是跟TabLayout联动了,ok了~大概用法就是这样了,具体Demo代码也不放了,很简单。