Android实现了豆瓣FM的首页效果

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

Android实现了豆瓣FM的首页效果_第1张图片

程序代码结构如下:

Android实现了豆瓣FM的首页效果_第2张图片



其中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.      
  14.     <imageview android:layout_width="fill_parent"
  15.         android:layout_height="wrap_content" android:src="@drawable/line" />
  16.     <framelayout android:layout_width="fill_parent"
  17.         android:layout_height="wrap_content" android:layout_weight="2"
  18.         android:layout_margin="0px" android:gravity="center">
  19.         <linearlayout android:id="@+id/mContener"
  20.             android:orientation="vertical" android:layout_width="fill_parent"
  21.             android:layout_height="wrap_content"
  22.             android:layout_margin="0px" android:layout_gravity="center" android:gravity="center">
  23.             <imageview android:layout_width="350px" android:id="@+id/album_corver1"
  24.                 android:layout_height="350px" android:onClick="showContent" />
  25.             <imageview android:layout_width="350px" android:id="@+id/album_corver2"
  26.                 android:layout_height="350px" android:visibility="gone"
  27.                 android:onClick="showPicture" />
  28.          
  29.         <textview android:layout_width="250px" android:layout_height="wrap_content"
  30.             android:text="0:18" android:gravity="center_horizontal"
  31.             android:layout_marginBottom="80px"
  32.             android:layout_gravity="center|bottom" />
  33.         <textview android:layout_width="250px" android:layout_height="wrap_content"
  34.             android:text=" Warner Bros. Records with Sony BMG"
  35.             android:singleLine="true" android:ellipsize="marquee"
  36.             android:marqueeRepeatLimit="marquee_forever" android:focusable="true"
  37.             android:layout_marginBottom="50px"
  38.             android:focusableInTouchMode="true" android:layout_gravity="center|bottom" />
  39.      
  40.     <linearlayout android:layout_width="fill_parent"
  41.         android:layout_height="wrap_content" android:layout_margin="0px"
  42.         android:orientation="horizontal">
  43.         <imageview android:layout_width="75px"
  44.             android:layout_weight="1" android:layout_height="75px" android:src="@drawable/trash_1" />
  45.         <imageview android:layout_width="75px"
  46.             android:layout_weight="1" android:layout_height="75px" android:src="@drawable/heart_1" />
  47.         <imageview android:layout_width="75px"
  48.             android:layout_weight="1" android:layout_height="75px" android:src="@drawable/skip_1" />
  49.      

复制代码
关于封面图片的倒影效果参见:Android实现图片的倒影效果

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



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


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


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

你可能感兴趣的:(Android实现了豆瓣FM的首页效果)