Android 仿JD瀏覽商品。滑動頭部隱藏顯示

仿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)