CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+ViewPager滑动效果,以及代码处理是否推动效果
来源:互联网 发布:势不可挡网络剧百度云 编辑:程序博客网 时间:2024/06/08 16:46
布局文件
<?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:id="@+id/activity_video_detail" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="exle.li_yuweii.superapp.activitys.VideoDetailActivity"> <android.support.design.widget.AppBarLayout android:fitsSystemWindows="true" android:id="@+id/video_detail_appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ffff" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <!--可以收放 ToolBar的布局--> <!--设置标题需要调用CollapsingToolbarLayout的 setTitle--> <!--使用ContentScrim 可以指定颜色 图片 当收起来的时候,切换成指定的内容--> <!--scrimVisibleHeightTrigger当收起多少距离的时候显示contentScrim--> <android.support.design.widget.CollapsingToolbarLayout android:fitsSystemWindows="true" android:id="@+id/video_detail_collapsing" android:layout_width="match_parent" android:layout_height="200dp" app:contentScrim="#FB7299" app:layout_scrollFlags="scroll|exitUntilCollapsed" > <!--app:scrimVisibleHeightTrigger="50dp"--> <FrameLayout android:id="@+id/video_detail_fragment" android:layout_width="match_parent" android:layout_height="wrap_content"> <SurfaceView android:id="@+id/video_detail_surface_view" android:layout_width="match_parent" android:layout_height="200dp" android:visibility="invisible" /> <LinearLayout android:id="@+id/video_detail_play_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="#9999" android:gravity="center_vertical" android:orientation="horizontal" android:visibility="invisible"> <ImageView android:id="@+id/video_controller_play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_pause" /> <SeekBar android:id="@+id/video_controller_progress" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/video_controller_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="00:00" /> <ImageView android:id="@+id/video_controller_orientation_switch" android:layout_width="20dp" android:layout_height="20dp" android:paddingLeft="3dp" android:src="@drawable/change" /> </LinearLayout> </FrameLayout> <ImageView android:fitsSystemWindows="true" android:id="@+id/video_detail_cover" android:layout_width="match_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:scaleType="fitXY" /> <!--app:layout_collapseMode="parallax" />--> <android.support.v7.widget.Toolbar android:id="@+id/video_detail_tool_bar" android:layout_width="match_parent" android:layout_height="?actionBarSize" app:layout_collapseMode="pin"> <ImageView android:id="@+id/video_detail_iamge1" android:src="@drawable/action_button_back_pressed_light" android:layout_width="wrap_content" android:layout_height="22dp" /> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/video_detail_text1" android:text="SuperApp" android:gravity="center" android:layout_width="wrap_content" android:layout_height="match_parent" /> <ImageView android:id="@+id/video_detail_image" android:src="@drawable/ic_tv_play" android:adjustViewBounds="true" android:visibility="invisible" android:layout_width="wrap_content" android:layout_gravity="center" android:layout_height="22dp" /> <TextView android:id="@+id/video_detail_text" android:visibility="invisible" android:text="立即播放" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> <!--Tab 简介和评论--> </android.support.design.widget.AppBarLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/video_detail_play_fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="16dp" app:layout_anchor="@id/video_detail_appbar" app:layout_anchorGravity="right|bottom" /> <!--layut_behavior 用于处理 当前控件滚动的时候,怎么处理其他控件--> <!--TODO:检查在ViewPager中使用,能否滚动Toolbar--> <LinearLayout android:id="@+id/video_detail_linear_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.design.widget.TabLayout android:id="@+id/video_detail_tab_layout" android:layout_width="150dp" android:layout_height="wrap_content" app:tabSelectedTextColor="@color/topColor" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_gravity="bottom" app:tabTextColor="#000"/> <android.support.v4.view.ViewPager android:id="@+id/video_detail_view_pager" android:layout_width="match_parent" android:layout_height="match_parent" android:overScrollMode="never" /> </LinearLayout> <!--<android.support.v4.widget.NestedScrollView--> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent"--> <!--app:layout_behavior="@string/appbar_scrolling_view_behavior">--> <!--<LinearLayout--> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent"--> <!--android:orientation="vertical">--> <!--</LinearLayout>--> <!--</android.support.v4.widget.NestedScrollView>--></android.support.design.widget.CoordinatorLayout>
app:layout_scrollFlags="scroll|exitUntilCollapsed"
这个设置推到上边toolbar在上边保留
android:fitsSystemWindows="true"
这个设置沉浸效果设置顶部状态栏时
app:layout_anchor="@id/video_detail_appbar"
FloatingActionButton必须绑定到AppBar上才可以推上去消失
app:layout_behavior="@string/appbar_scrolling_view_behavior"
AppBar下方的控件要设置这个属性才可以联动
代码里设置推动效果
//设置不可推动 layoutParams = (AppBarLayout.LayoutParams) collapsing.getLayoutParams(); int scrollFlags = layoutParams.getScrollFlags(); layoutParams.setScrollFlags(0);
//设置可以推动layoutParams = (AppBarLayout.LayoutParams) collapsing.getLayoutParams(); layoutParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS); collapsing.setLayoutParams(layoutParams);//这句必须加上
0 0
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+ViewPager滑动效果,以及代码处理是否推动效果
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar实现app的折叠效果
- Material Design——CollapsingToolbarLayout+AppBarLayout+CoordinatorLayout实现菜单栏炫酷折叠效果
- CollapsingToolbarLayout / AppBarLayout / CoordinatorLayout / FloatingActionB
- 初涉CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout
- CoordinatorLayout&AppBarLayout&CollapsingToolbarLayout组合
- AppBarLayout、CoordinatorLayout、CollapsingToolbarLayout、NestedScrollView
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar
- CoordinatorLayout:CollapsingToolbarLayout折叠效果的布局容器
- AppBarLayout与CoordinatorLayout实现toobar各种效果
- 【MaterialDesign】TabLayout,CollapsingToolbarLayout,AppBarLayout,CoordinatorLayout
- Android MD: CoordinatorLayout AppBarLayout CollapsingToolbarLayout
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout全解析
- CoordinatorLayout,CollapsingToolbarLayout,AppBarLayout简单使用
- CoordinatorLayout、AppBarLayout与CollapsingToolbarLayout运用
- CoordinatorLayout的AppBarLayout和CollapsingToolbarLayout
- AppBarLayout,CollapsingToolbarLayout以及Toolbar
- AppBarLayout、CollapsingToolbarLayout以及Toolbar
- 解决ubuntu14.04下samba共享目录share点开弹出没有权限访问的问题
- 如何打造自己的coreseek/sphinx分词词库
- servlet简介
- jQuery 核心:选取元素
- 弱鸡的博客
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+ViewPager滑动效果,以及代码处理是否推动效果
- 《数据挖掘的数据集资源》
- Redis系列-存储篇list主要操作函数小结
- android ListView向上滑动隐藏标题,下拉显示标题栏
- codeforces - 257c View Angle 【数学】
- Android显示一个多选项对话框
- bzoj 3758: 数数 分块打表
- Android全屏,隐藏状态栏和标题栏
- Mysql基础(学习笔记)