AndroidCollapsingToolbarLayout-仿BiliBili视频页
来源:互联网 发布:优化后人员配制方案 编辑:程序博客网 时间:2024/06/04 18:56
效果图:
coordinatorLayout.xml布局
<?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/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collaps" android:layout_width="match_parent" android:layout_height="@dimen/tab_height" app:contentScrim="#FA7199" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:statusBarScrim="@android:color/transparent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:src="@mipmap/meizhi" app:layout_collapseMode="parallax" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar1" android:layout_width="match_parent" android:layout_height="48dp" android:layout_marginTop="20dp" app:collapseIcon="@mipmap/ic_book_list" app:layout_collapseMode="pin" app:navigationIcon="@mipmap/navigation_back_white" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:title="@string/app_name" app:titleTextColor="@color/white"> <!--自定义带图片的立即播放按钮--> <LinearLayout android:id="@+id/playButton" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:visibility="gone"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:src="@mipmap/ic_book_list" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="立即播放" android:textColor="#ffffff" /> </LinearLayout> </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> <include layout="@layout/common_toolbar_with_tab" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="510dp" android:layout_weight="1" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:layout_editor_absoluteY="257dp" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="@dimen/fab_margin" app:fabSize="mini" android:src="@mipmap/add" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="25dp" android:layout_marginRight="15dp" android:src="@mipmap/ic_book_list" app:elevation="6dp" app:layout_anchor="@+id/appbar" app:layout_anchorGravity="bottom|right" /></android.support.design.widget.CoordinatorLayout>
监听AppBarLayout.OnOffsetChangedListener来判断伸缩状态
appbar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (verticalOffset == 0) { if (state != CollapsingToolbarLayoutState.EXPANDED) { state = CollapsingToolbarLayoutState.EXPANDED; collaps.setTitle(getString(R.string.app_name)); } } else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) { if (state != CollapsingToolbarLayoutState.COLLAPSED) { collaps.setTitle("");//设置title不显示 fab2.setVisibility(View.VISIBLE);//隐藏播放按钮 state = CollapsingToolbarLayoutState.COLLAPSED;//修改状态标记为折叠 } } else { if (state != CollapsingToolbarLayoutState.INTERNEDIATE) { if (state == CollapsingToolbarLayoutState.COLLAPSED) { fab2.setVisibility(View.GONE);//由折叠变为中间状态时隐藏播放按钮 } collaps.setTitle(getString(R.string.app_name));//设置title为INTERNEDIATE state = CollapsingToolbarLayoutState.INTERNEDIATE;//修改状态标记为中间 } } } });
github地址:https://github.com/hushendian/CollapsingToolbarLayoutDemo.git
原文地址:http://www.jianshu.com/p/06c0ae8d9a96
http://www.jianshu.com/p/ac56f11e7ce1
http://www.jianshu.com/p/f09723b7e887
阅读全文
0 0
- AndroidCollapsingToolbarLayout-仿BiliBili视频页
- 仿Bilibili iOS客户端
- wordpress插入bilibili视频
- ssm(spring+spring mvc+mybatis+maven)高仿bilibili视频网站项目实例
- 仿bilibili搜索框效果
- BiliBili Android客户端仿写
- 仿一个BiliBili的app
- 下载B(bilibili)站视频
- 仿Bilibili iOS客户端 练习案例源码
- 基于ijkplayer的视频播放器,仿Bilibili客户端,集成沉浸式全屏、弹幕、触屏控制、视频源切换等功能
- 获取bilibili视频封面的方法
- 爬虫扒下 bilibili 视频信息
- selenium+python实现bilibili视频播放测试
- 高仿BiliBili的iOS客户端源码项目
- Qt——仿bilibili直播的调音量控件
- 仿 bilibili 搜索框效果(三句代码实现)
- 项目实战-仿bilibili刷新按钮的实现
- 项目实战-仿bilibili刷新按钮的实现
- Spring Boot -- Swagger之自定义文档说明
- c#快捷键
- Java像素点算法--黑白效果与底片效果
- 40个Java多线程问题总
- 枚举enum
- AndroidCollapsingToolbarLayout-仿BiliBili视频页
- 设计模式之单例模式
- java后端,前端需要掌握到什么程度?
- Cannot determine embedded database driver class for database type NONE
- POJ
- Ubuntu 环境编译FFmpeg
- 堆与堆排序
- NYOJ 69 数的长度
- 如何减小与“大牛”的差距