一、效果

二、需求
1.Activity内容扩展到状态栏
2.内容为详情头和列表组成,列表上滑详情头会跟着同步上移,最后详情头缩小为Actionbar大小
3.在列表上滑的时候,详情头背景图形逐渐变暗,详情头内容变透明
4.列表具有下载加载更多的功能
5.点击列表项出现水波纹
6.下拉详情头的图片会放大,松手后自动弹回(由于实现构架->此示例未能实现)
三、原理
处理需求1:做沉浸式状态栏
在Activity里面调用以下函数
protected void setTranslucentStatus() {// 5.0以上系统状态栏透明if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {Window window = getWindow();window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);window.setStatusBarColor(Color.TRANSPARENT);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}
}

处理需求2:内容为详情头和列表组成,列表上滑详情头会跟着同步上移,最后详情头缩小为Actionbar大小
1.整个Activity里放了一个完整的fragment,然后在fragmemnt里面布局
2.在整个fragment铺满放置一个frameLayout,然后铺满放一个recyclerview,
3.在上部放固定高度的RelativeLayout作为详情头
4.在java代码里给recyclerview添加一个和详情头一样高的headerview,
5.在java代码里获取recyclerview的onScroll的dy参数用以移动详情头的布局上下移动,实现详情头和列表同步移动
6.通过动态修改详情头的padding来达到布局上移的效果
处理需求3:在列表上滑的时候,详情头背景图形逐渐变暗,详情头内容变透明
1.在布局文件里,给背景图片上面盖一层覆盖view,并设置为透明颜色
2.在recyclerview的onScroll中根据移动的距离调整覆盖view的透明度,达到背景变暗,
3.在recyclerview的onScroll中根据移动距离调整textview和imageview的透明度达到内容变透明
处理需求4:列表具有下载加载更多的功能
1.在java代码里给recyclerview添加footerview,用以显示“加载中。。。”
2.在recyclerview的onScroll里判断列表的最后一个即footerview是否显示在屏幕的上,并出发获取数据的函数
3.获取到新数据添加到列表数据里面,刷新列表,实现下拉加载
处理需求5:点击列表项出现水波纹
在recyclerview的列表项设置以下背景即可,源代码有俩个背景实现用于兼容
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"android:color="#666666"><item android:drawable="@color/item_bg"/>
</ripple>

四、实现步骤
在实现过程中参考其他的文章示例
具体实现步骤看源代码,在代码里面有注释
源码下载地址

https://github.com/robert1207/neteaseDemo

仿网易云音乐新版详情页(沉浸式状态栏,上滑隐藏)相关推荐

  1. 【微信小程序学习】网易云音乐歌曲详情页代码实现

    这里记录一下做网易云小程序的音乐播放详情页面的代码. 音乐播放界面的主要的重点有几个: 1.磁盘和摇杆的旋转效果,这里运用了css的动画属性 2.音乐播放和暂停,下一首/上一首等播放效果的实现 3.进 ...

  2. 新版仿网易云音乐的YY音乐微信小程序源码

    正文: 仿网易云音乐的YY音乐微信小程序源码,这是一款仿网易云手机端的小程序源码 名为YY音乐小程序,首页有每日推荐歌曲.歌单和热歌排行榜,功能不是特别多 但是还是比较简洁美观的,省去了现在网易云音乐 ...

  3. Vue3.0 + typescript 高仿网易云音乐 WebApp

    Vue3.0 + typescript 高仿网易云音乐 WebApp 前言 Vue3.0 的正式发布,让我心动不已,于是尝试用 vue3 实现一个完整的项目,整个项目全部使用了 composition ...

  4. node.js+uniapp计算机毕业设计安卓仿网易云音乐客户端APP(程序+APP+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  5. 【开源项目学习】源码剖析,学习仿网易云音乐app代码

    [前言] 这篇文字不全是讲app代码,而是博主怎么根据代码系统学习梳理的过程,非专业,如有不对,欢迎指出 仿网易云音乐app源码地址:https://github.com/aa112901/remus ...

  6. 仿网易云音乐(微信小程序版)

    项目部分截图(Gif) 前言 前一阵子学习了微信小程序,为了巩固所学的知识和提高实战经验,决定自己手撸一款小程序.因为听歌一直在用网易云音乐,所以突发奇想就做一款仿网易云音乐的小程序吧!开发中遇到了很 ...

  7. 计算机毕业设计PHP+安卓仿网易云音乐客户端APP(源码+程序+lw+远程调试)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: phpStudy+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vu ...

  8. 计算机毕业设计Node.js+Vue安卓仿网易云音乐客户端APP(程序+源码+LW+部署)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  9. node.js毕业设计安卓仿网易云音乐客户端APP(程序+APP+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

最新文章

  1. AWS开源Firecracker,一种运行多租户容器服务的新虚拟化技术
  2. C# DEBUG 调试信息打印及输出详解
  3. Java实现选择排序及其优化
  4. 百度地图实现定位功能
  5. 《Servlet学习笔记》Servlet开发细节-线程安全
  6. IIS不能发布asp.net 应用程序
  7. springboot热部署之spring-boot-devtools
  8. matlab liccode,车牌识别的matlab程序--(详细注释,并有使用注意点)
  9. my first d3d application 哈哈哈。
  10. java即时通讯聊天工具
  11. Lattice diamond软件中的Clarity Designer 与 IPexpress切换
  12. 全世界最高级最好的操作系统,人人都可以用
  13. 论文阅读笔记 | Transformer系列——Focal Transformer
  14. 最全面的Java面试题-----是你更好的掌握java知识
  15. 全差分运放阻抗匹配计算(一)
  16. 阿里巴巴、腾讯、百度和京东金融落户雄安新区 | 亚马逊加入FB与微软阵营,共同支持开源AI平台ONNX
  17. ArcGis实战:土地利用变化矩阵与土地利用变化图制作
  18. 【问】无法连接,用户‘sa’登陆失败
  19. VMware虚拟机的快照了解一下
  20. STM32单片机可变频率幅度DDS信号发生器正弦波三角波方波AD9833

热门文章

  1. 818以前做个人站长所了解的一些资源
  2. linux下qt静态编译_自由出土文物的空间_百度空间
  3. Pandas中DataFrame的属性、方法、常用操作以及使用示例
  4. 【北京-望京】这16家互联网公司值得你加入
  5. 金蝶K3 WISE 14.3版本增加用户账号
  6. javaweb报修系统源码
  7. GPS 入门 1 —— 基础知识[转]
  8. SQL Server数据库语法篇(付费内容限时开放)
  9. 讲计算机讲座开场白,讲座主持词开场白
  10. vue获取服务器路径图片显示,vue img图片路径和背景图片路径打包问题