一句代码解决CoordinatorLayout+AppBarLayout+NestedScrollView滑动不流畅的问题

最近项目用到了CoordinatorLayout+AppBarLayout可以变化的状态栏的效果,就在网上查找资料来实现。

但是加入多条数据之后就能看到问题,整个界面滑动效果很差。向上滑动没有惯性,只能一点一点的往上滑体验很不好。

经过多次查找资料并且实验,最终发现一个特别简单的方法就可以实现滑动惯性的问题。

修改以后的代码如下:

    android:id="@+id/travel_plan_rv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:nestedScrollingEnabled="false" />
最关键的代码就是:

android:nestedScrollingEnabled="false"


具体效果如下图所示:



布局的完整代码如下:

xml version="1.0" encoding="utf-8"?>
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:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="210dp"
        android:fitsSystemWindows="true">

                    android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:collapsedTitleTextAppearance="@style/TextAppearance.AppCompat.Title"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:titleEnabled="false">

                            android:layout_width="match_parent"
                android:layout_height="match_parent">

                                    android:id="@+id/backdrop"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop"
                    android:src="@mipmap/bj"
                    app:layout_collapseMode="parallax" />

                                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="20dp"
                    android:orientation="vertical">

                                            android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                                                    android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="张三的龙虎山之旅"
                            android:textSize="@dimen/txs1" />

                                                    android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="20dp"
                            android:text="悠闲 朋友 经典"
                            android:textSize="@dimen/txs0" />
                    

                                            android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="10dp"
                        android:orientation="horizontal">

                                                    android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="1"
                            android:textColor="@color/gray_tv"
                            android:textSize="@dimen/txs1" />

                                                    android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dp"
                            android:text="8个景点"
                            android:textColor="@color/gray_tv"
                            android:textSize="@dimen/txs1" />

                                                    android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="30dp"
                            android:text="在地图中查看 >"
                            android:textSize="@dimen/txs1" />
                    
                
            

            
            
            
            
            

            
            
            
            
            

            
            

                            android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:contentInsetStart="0dp"
                app:layout_collapseMode="pin"
                app:title="@null">

                                    android:id="@+id/ib_back_layout"
                    android:layout_width="@dimen/item_h_50dp"
                    android:layout_height="match_parent">

                                            android:id="@+id/ib_back"
                        android:layout_width="20dp"
                        android:layout_height="20dp"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="@dimen/m_10dp"
                        android:scaleType="fitCenter"
                        android:src="@mipmap/back" />
                

                                    android:id="@+id/toolbar_titletv"
                    style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:drawablePadding="5dp"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:lines="1"
                    android:scrollHorizontally="true"
                    android:text=""
                    android:textColor="@android:color/white" />

                                    android:id="@+id/ib_right_layout"
                    android:layout_width="50dp"
                    android:layout_height="match_parent"
                    android:layout_gravity="right">

                                            android:id="@+id/ib_right"
                        android:layout_width="20dp"
                        android:layout_height="20dp"
                        android:layout_centerInParent="true"
                        android:scaleType="fitCenter"
                        android:src="@mipmap/ib_add" />
                

            

        

    

    

            android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

                    android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

                            style="@style/linlayout_h2_style"
                android:layout_margin="@dimen/m_10dp">

                                    style="@style/tv_item_title_style"
                    android:text="2017-11-21"
                    android:textSize="@dimen/txs2" />

                                    style="@style/tv_item_title_style"
                    android:layout_marginLeft="@dimen/m_10dp"
                    android:text="09:11"
                    android:textSize="@dimen/txs2" />

            

                            android:id="@+id/travel_plan_rv"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:nestedScrollingEnabled="false" />
        

    

 

参考文章:http://www.jianshu.com/p/1edf795fce75

你可能感兴趣的:(android开发)