仿JD瀏覽商品,實現頭部導航上滑隱藏,導航懸浮,下滑頭部顯示html
android5.0新特性,須要用到android
android.support.design.widget.CoordinatorLayout
android.support.design.widget.AppBarLayout
使用CoordinatorLayout須要在Gradle加入Support Design Library:app
compile 'com.android.support:design:22.2.1'
app:layout_scrollFlags="scroll|enterAlways"須要滑動的view中設置屬性.
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Scroll 表示向下滾動時,這個View會被滾出屏幕範圍直到隱藏.佈局
enterAlways 表示向上滾動時,這個View會隨着滾動手勢出現,直到恢復原來的位置.spa
在能夠滾動的View上設置屬性 app:layout_behavior.該屬性的值其實是一個完整的class名字,而上面例子中的 @string/appbar_scrolling_view_behavior 是Android Support Library 定義後的值,能夠被直接使用.3d
這個Behavior的class是真正控制滾動時候View的滾動行爲.咱們也能夠繼承Behavior這個class去實現特有的滾動行爲.code
下面是xml文件完整代碼,個人viewpager中包含listview控件。因此在這裏設置。xml
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" tools:context="accuounting.mmb.com.mmb.MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimaryDark" app:title="MMB記帳" android:theme="@style/ThemeOverlay.AppCompat.Dark" android:popupTheme="@style/ThemeOverlay.AppCompat.Dark" app:layout_scrollFlags="scroll|enterAlways" /> <android.support.design.widget.TabLayout android:id="@+id/actTabLayout" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorPrimaryDark" app:tabGravity="fill" app:tabSelectedTextColor="#ff0" app:tabTextColor="#ffffff" app:tabIndicatorColor="#00DB00" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/actMainVp" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" > </android.support.v4.view.ViewPager> </android.support.design.widget.CoordinatorLayout>
注意以上三點就能夠了。不懂的能夠本身搜一下,網上都有詳細的介紹。下面看效果htm
這裏作下說明:若是朋友們用ListView或者Scrllview確定會發現效果沒有實現。因此要換成blog
android.support.v4.widget.NestedScrollView
或者引用Recyclerview
compile 'com.android.support:recyclerview-v7:22.1.1'
下面是下載連接。注意,本身新建工程,導入到對應的目錄下便可。
下載連接(提取碼:186e)