android新特性:使用CollapsingToolbarLayout实现折叠效果及问题解决[有比较严重的卡顿感]
https://www.jianshu.com/p/485223349703
CollapsingToolbarLayout有滑动折叠有严重的卡顿,不顺畅,实现一波之后,非常不推荐。
推荐以下方式,需要悬浮的View整2个,自定义ScrollView中监听滑动 隐藏显示。
https://blog.csdn.net/ganshenml/article/details/78341223
https://blog.csdn.net/ganshenml/article/details/53112722,监听ScrollView中的onScrollChanged()
布局
自定义ScrollView
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<data>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_gray_f8"
android:orientation="vertical">
<com.szltech.OrientSecurities.view.CustomTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text_title="我的资产" />
<com.szltech.OrientSecurities.thirdpart.MyCustomScrollView
android:id="@+id/my_scroll_view"
android:layout_below="@id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/layout_piechart"
layout="@layout/layout_piechart"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
<View
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="10dp"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:background="@drawable/bg_assest_list_top"
android:gravity="center_vertical"
android:paddingLeft="@dimen/margin_10"
android:paddingRight="@dimen/margin_10">
<TextView
android:id="@+id/tv_tab_total_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="直销总资产"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
<TextView
android:id="@+id/tv_tab_total_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
tools:text="888,888.88元"
android:text="--"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
</RelativeLayout>
<ListView
android:id="@+id/lv_asset_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:layout_marginTop="-10dp"
android:divider="@null"
android:listSelector="@color/transparent"
android:scrollbars="none" />
</LinearLayout>
</com.szltech.OrientSecurities.thirdpart.MyCustomScrollView>
<FrameLayout
android:visibility="gone"
android:id="@+id/tab_layout_float"
android:layout_below="@id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
</RelativeLayout>
</layout>
CoordinatorLayout方式
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_gray_f8"
android:orientation="vertical">
<com.szltech.OrientSecurities.view.CustomTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text_title="我的资产" />
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinator_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
app:layout_behavior="com.szltech.OrientSecurities.thirdpart.FlingBehavior"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:collapsedTitleTextAppearance="@style/ToolBarTitleText"
app:contentScrim="@color/bg_red"
app:expandedTitleMarginEnd="10dp"
app:expandedTitleMarginStart="10dp"
app:expandedTitleTextAppearance="@style/transparentText"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<!--设置layout_scrollFlags保证CollapsingToolbarLayout能滚动-->
<!--app:layout_scrollFlags="scroll|exitUntilCollapsed"-->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/layout_piechart"
layout="@layout/layout_piechart"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</android.support.design.widget.CollapsingToolbarLayout>
<FrameLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/tab_layout_include"
layout="@layout/layout_myassert_tab"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nsv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:background="@drawable/bg_assest_list_top"
android:gravity="center_vertical"
android:paddingLeft="@dimen/margin_10"
android:paddingRight="@dimen/margin_10">
<TextView
android:id="@+id/tv_tab_total_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="直销总资产"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
<TextView
android:id="@+id/tv_tab_total_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
tools:text="888,888.88元"
android:text="--"
android:textColor="@color/white"
android:textSize="@dimen/size16" />
</RelativeLayout>
<ListView
android:id="@+id/lv_asset_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/listview_margin"
android:layout_marginRight="@dimen/listview_margin"
android:layout_marginTop="-10dp"
android:divider="@null"
android:listSelector="@color/transparent"
android:scrollbars="none" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
</layout>