Android 仿JD浏览商品。滑动头部隐藏显示

仿JD浏览商品,实现头部导航上滑隐藏,导航悬浮,下滑头部显示

android5.0新特性,需要用到

android.support.design.widget.CoordinatorLayout
android.support.design.widget.AppBarLayout

使用CoordinatorLayout需要在Gradle加入Support Design Library:

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会随着滚动手势出现,直到恢复原来的位置.

在可以滚动的View上设置属性 app:layout_behavior.该属性的值实际上是一个完整的class名字,而上面例子中的 @string/appbar_scrolling_view_behavior 是Android Support Library 定义后的值,可以被直接使用.

这个Behavior的class是真正控制滚动时候View的滚动行为.我们也可以继承Behavior这个class去实现特有的滚动行为.


下面是xml文件完整代码,我的viewpager中包含listview控件。所以在这里设置。

<?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>

注意以上三点就可以了。不懂的可以自己搜一下,网上都有详细的介绍。下面看效果

这里做下说明:如果朋友们用ListView或者Scrllview肯定会发现效果没有实现。所以要换成

android.support.v4.widget.NestedScrollView

或者引用Recyclerview

compile 'com.android.support:recyclerview-v7:22.1.1'


下面是下载链接。注意,自己新建工程,导入到对应的目录下即可。

下载链接(提取码:186e)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值