实现了豆瓣FM的首页效果,如下:

程序代码结构如下:

其中MainActivity是主界面显示,GalleryFlow实现了Gallery的随手势拖动的大小变化,Rotate3dAnimation实现了歌曲封面图片的旋转。

main.xml是主界面的布局文件,总体采用LinearLayout布局,上部是Gallery,中部图片部分采用了FrameLayout,确保了歌曲信息和时间能够覆盖在封面表面,底部采用了横向布局的LinearLayout。具体的Layoutu布局参见Android布局,布局文件代码如下:

  1. <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:orientation="vertical" android:layout_width="fill_parent"
  3. android:layout_height="fill_parent" android:background="@drawable/bg_w">
  4. <linearlayout android:orientation="vertical"
  5. android:layout_width="fill_parent" android:layout_height="wrap_content">
  6. <textview android:layout_width="fill_parent"
  7. android:layout_height="wrap_content" android:gravity="center_horizontal"
  8. android:text="公共频道" android:layout_marginTop="30px" />
  9. <com.easymorse.mygallery.galleryflow
  10. android:layout_marginTop="30px" android:id="@+id/mygallery1"
  11. android:layout_width="fill_parent" android:layout_height="100px"
  12. android:spacing="70dp" android:gravity="center" />
  13. <imageview android:layout_width="fill_parent"
  14. android:layout_height="wrap_content" android:src="@drawable/line" />
  15. <framelayout android:layout_width="fill_parent"
  16. android:layout_height="wrap_content" android:layout_weight="2"
  17. android:layout_margin="0px" android:gravity="center">
  18. <linearlayout android:id="@+id/mContener"
  19. android:orientation="vertical" android:layout_width="fill_parent"
  20. android:layout_height="wrap_content"
  21. android:layout_margin="0px" android:layout_gravity="center" android:gravity="center">
  22. <imageview android:layout_width="350px" android:id="@+id/album_corver1"
  23. android:layout_height="350px" android:onClick="showContent" />
  24. <imageview android:layout_width="350px" android:id="@+id/album_corver2"
  25. android:layout_height="350px" android:visibility="gone"
  26. android:onClick="showPicture" />
  27. <textview android:layout_width="250px" android:layout_height="wrap_content"
  28. android:text="0:18" android:gravity="center_horizontal"
  29. android:layout_marginBottom="80px"
  30. android:layout_gravity="center|bottom" />
  31. <textview android:layout_width="250px" android:layout_height="wrap_content"
  32. android:text=" Warner Bros. Records with Sony BMG"
  33. android:singleLine="true" android:ellipsize="marquee"
  34. android:marqueeRepeatLimit="marquee_forever" android:focusable="true"
  35. android:layout_marginBottom="50px"
  36. android:focusableInTouchMode="true" android:layout_gravity="center|bottom" />
  37. <linearlayout android:layout_width="fill_parent"
  38. android:layout_height="wrap_content" android:layout_margin="0px"
  39. android:orientation="horizontal">
  40. <imageview android:layout_width="75px"
  41. android:layout_weight="1" android:layout_height="75px" android:src="@drawable/trash_1" />
  42. <imageview android:layout_width="75px"
  43. android:layout_weight="1" android:layout_height="75px" android:src="@drawable/heart_1" />
  44. <imageview android:layout_width="75px"
  45. android:layout_weight="1" android:layout_height="75px" android:src="@drawable/skip_1" />

复制代码

关于封面图片的倒影效果参见:Android实现图片的倒影效果。

图片点击后旋转的效果参见:自定义动画实现不同View的切换。

Gallery实现文字显示参见: Android修改Gallery界面布局 。

不足之处,头部的Gallery效果和豆瓣FM还有很大区别。

项目源码见:android-gallery-demo0.1.rar

Android实现了豆瓣FM的首页效果相关推荐

  1. Android实现豆瓣FM的首页效果

    实现了豆瓣FM的首页效果,如下: 程序代码结构如下: 其中MainActivity是主界面显示,GalleryFlow实现了Gallery的随手势拖动的大小变化,Rotate3dAnimation实现 ...

  2. Android仿豆瓣FM卡片滑动

    最近公司项目要做一个跟豆瓣FM卡片式滑动的效果,看看效果图: 卡片的滑动和伸缩功能都已做好测试跟豆瓣FM 1:1还原 package org.android.mygdttst.douban;impor ...

  3. Android实现支付宝AR功能,Android RecyclerView 实现支付宝首页效果

    Android RecyclerView 实现支付宝首页效果 [TOC] 虽然我本人不喜欢支付宝的,但是这个网格本身其实还是不错的,项目更新中更改了一个布局为网格模式,类似支付宝.(估计是产品抄袭的= ...

  4. 豆瓣fm android,豆瓣FM - 遇见音乐 - Android 应用 - 【最美应用】

    1. 界面更加清爽 新版界面有别于旧版本的豆瓣FM,新版的豆瓣FM 采用了淡淡的豆瓣绿的背景,同时将兆赫的选择从主页面上移除,使其看起来不再杂乱无章,而且显得更有层次感.同时浅色的背景给人一种清爽,舒 ...

  5. 豆瓣FM产品分析 | 纯粹极简的听歌APP

    2019年7月1日豆瓣FM6.0版本正式上线.对于这次大版本更新,官方的定义是:"极简的页面设计和交互方式,让一切回归于音乐本身".听上去挺不错的,让我们开启对这款产品的体验之旅吧 ...

  6. 如何为豆瓣FM写一个chrome的歌词插件

    对于喜欢豆瓣FM的同学来说,没有歌词是件令人苦恼的事,下面我就来总结下怎样为豆瓣FM写一个chrome的歌词插件. --------------------------------- 1.需要的技能 ...

  7. Android利用Cookie实现码源登录效果

    上一篇讲了界面的实现,详情请戳Android利用Cookie实现码源登录效果(一) - 界面实现,本篇将对功能的实现进行分析. 具体实现 功能实现 使用HttpClient进行post请求 在进行po ...

  8. 豆瓣FM电台Chrome扩展——下载

    作为一个豆瓣fm的忠实用户,被豆瓣fm与音乐不期而遇的理念深深吸引. 最近豆瓣推出升级到PRO享受更高品质音乐的服务,升级后确实质量提升明显.但是有个功能仍然没有提供,那就是无法下载喜欢的歌曲. 在对 ...

  9. 在移动设备上使用豆瓣FM Pro

    本周一豆瓣电台推出了收费服务豆瓣FM Pro,用户每月支付10元,即可比普通版多享受两项服务:192kbps音乐以及去除听音乐过程中的广告.这是豆瓣商业化的一次尝试. 今天豆瓣FM的的移动应用更新,支 ...

最新文章

  1. 重写,重载,抽象类,接口,抽象类和接口区别
  2. Dr. Evil Underscores(异或最大值最小)
  3. 带文件卖面,老坛酸菜面重回超市货架!你会买账吗?京东、淘宝依然屏蔽
  4. php ajax传值中文乱码问题,PHP Ajax JSON中文乱码各种问题解决办法
  5. Django 静态文件处理
  6. 从零开始学习python编程-从零开始学Python程序设计 PDF 完整影印版
  7. (转)基于深度组合的选股策略
  8. 一种简单的睡眠评分规则
  9. Spark SQL 之开窗函数
  10. PE文件格式详解(0)
  11. 连接数据库查询数据的工具类(底层实现)——以查询Phoenix为例
  12. 飞桨领航团西安回顾|技术干货大厂offer独家经验分享
  13. python获取他人的ip_python - 获取访问者的IP地址
  14. (vue) 前端实现下载本地Excel模板
  15. 启舰:不懂花钱的人,大概率成为Loser!
  16. 图书管理系统之用户信息维护
  17. 数据统计分析案例(对比分析、销量定比分析、同比、双坐标图、环比、shift、贡献度分析(帕累托法则)、差异化分析、resample、季节性波动分析)
  18. Elasticsearch:跨集群复制 Cross-cluster replication(CCR)
  19. Java程序完形填空题_moodle中的完形填空题的文本编写方法
  20. 腾讯云轻量级服务器怎么搭建网站,腾讯云轻量应用服务器新手教程:快速搭建网站...

热门文章

  1. oracle 秒转换分钟小时
  2. 组建使用“智能卡”进行身份验证的×××服务器
  3. python生成车架号
  4. 测试服务器并发量和承载力(压力测试)
  5. 深度解码互联网后台服务架构-魏佳-专题视频课程
  6. discord怎么创建账号_如何创建Ultimate Discord服务器
  7. 应用 AddressSanitizer 发现程序内存错误
  8. “On Writing Well” 读书总结
  9. byte和bit的区别,字节和比特,1兆等于多少字节,等于多少比特
  10. 兄弟连教育python培训