Android实现滑动悬浮置顶效果
来源:互联网 发布:java template 编辑:程序博客网 时间:2024/05/29 08:03
网上都是利用重写scrollview滑动的监听,来隐藏和显示某一个控件来实现的,通过这个方法实现的滑动不是很流畅,于是我决定用最新的material design来实现这个效果。废话不多说,直接上代码:
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/white"> <!-- 第一部分:CoordinatorLayout --> <android.support.design.widget.CoordinatorLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/scrollview" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="#ffffff"> <!-- 第二部分:缩放控件--> <android.support.design.widget.AppBarLayout android:id="@+id/id_appbarlayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_tool_bar_test_ctl" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.bigkoo.convenientbanner.ConvenientBanner android:id="@+id/convenient_banner" android:layout_width="match_parent" android:layout_height="400px" app:canLoop="true" /> <maibai.maibai.com.maibai.util.view.MyGridView android:id="@+id/grid_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:numColumns="4" android:layout_marginTop="20px" android:verticalSpacing="20px" android:listSelector="@color/white"/> <TextView android:layout_width="match_parent" android:layout_height="1px" android:background="#eee" android:layout_marginTop="20px"/> <LinearLayout android:layout_width="match_parent" android:layout_height="400px" android:background="#eee"></LinearLayout> </LinearLayout> </android.support.design.widget.CollapsingToolbarLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="50px" android:background="#ff66bb" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="悬浮部分"/> </LinearLayout> </android.support.design.widget.AppBarLayout> <!-- 第三部分:Your Scroll View--> <android.support.v4.widget.NestedScrollView android:id="@+id/myMainScrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:overScrollMode="always" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <maibai.maibai.com.maibai.util.view.MyListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" android:listSelector="@color/white" android:divider="@color/white"/> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> </LinearLayout>
这里是布局文件,最外层是CoordinatorLayout,然后滑动时候要隐藏的控件放CollapsingToolbarLayout里面,NestedScrollView里面放的是置顶后可滑动的控件,然后就可以实现效果了,就是这么简单。
需要注意的有几点:
1.CollapsingToolbarLayout必须设置app:layout_scrollFlags=”scroll”,他才可以滑动。
2.NestedScrollView必须设置app:layout_behavior这个属性,他们才会联动。
3.NestedScrollView里面如果嵌套listview等可滑动的布局时要重写listview的onmeasures方法(网上一大堆)。
阅读全文
0 0
- Android实现滑动悬浮置顶效果
- Android 滑动悬浮置顶效果的新实现
- Android Listview 滑动时置顶悬浮效果
- Android实现滑动悬浮置顶(二)采用改写Scroview实现
- Android view滑动悬浮固定效果实现
- Android实现滑动悬浮置顶(一)采用Material Design新控件实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- android ScrollView向上滑动 控件顶部悬浮效果实现
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android 实现控件悬浮效果
- listview滑动置顶效果
- listview滑动置顶效果
- Mac系统安装和配置tomcat步骤详解
- spring boot 整合redis对查询数据做缓存( 利用spring的AOP技术)
- day31管家婆项目训练笔记
- Spring学习(二)
- 菱形继承
- Android实现滑动悬浮置顶效果
- smb|ftp|nfs共享网络磁盘
- 动态获取权限工具类及其使用
- Kanade's sum(hdu 6058)
- 选择器
- Spring Aspect j
- 微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
- 《YOLO9000:Better,Faster,Stronger》笔记
- CoordinatorLayout中的大坑