Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53037
  • 博文数量: 18
  • 博客积分: 454
  • 博客等级: 下士
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-08 22:40
文章分类
文章存档

2012年(18)

最近访客

分类: 嵌入式

2012-01-08 23:11:44

      在前篇完成了用户登录功能后开始用户首页的开发,用户的首页主要的内容是当前登录用户关注的微博列表,本篇先来讲讲UI的实现,效果如上图,整个页面分为上、中、下三部分,上面部分是工具条,显示当前登录用户的昵称以及写微博、刷新两个功能按钮;中间部分是当前用户关注的最新微博列表,下面部分是功能切换栏,用来进行各个功能之间的切换。

      首先新建名为HomeActivity.java的Activity作为用户首页,然后在res/layout目录下新建名为home.xml的Layout,具体代码如下:



  1.   xmlns:=""
  2.   android:id="@+id/layout"
  3.   android:orientation="vertical"
  4.   android:layout_width="fill_parent"
  5.   android:layout_height="fill_parent">
  6.   
  7.   
  8.   android:layout_width="fill_parent"
  9.   android:layout_height="wrap_content"
  10.   android:layout_margin="3px">
  11.   
  12.   android:layout_width="wrap_content"
  13.   android:layout_height="wrap_content"
  14.   android:src="@drawable/logo_ss">
  15.   
  16.   
  17.   android:id="@+id/showName"
  18.   android:layout_width="wrap_content"
  19.   android:layout_height="wrap_content"
  20.   android:layout_centerInParent="true"
  21.   android:textColor="#343434"
  22.   android:textSize="15px">
  23.   
  24.   
  25.   android:id="@+id/writeBtn"
  26.   android:layout_width="wrap_content"
  27.   android:layout_height="wrap_content"
  28.   android:layout_toLeftOf="@+id/refreshBtn"
  29.   android:background="@drawable/btn_write_selector">
  30.   
  31.   
  32.   android:id="@+id/refreshBtn"
  33.   android:layout_width="wrap_content"
  34.   android:layout_height="wrap_content"
  35.   android:layout_alignParentRight="true"
  36.   android:layout_marginLeft="12px"
  37.   android:background="@drawable/btn_refresh_selector">
  38.   
  39.   
  40.   
  41.   
  42.   android:layout_width="fill_parent"
  43.   android:layout_height="wrap_content"
  44.   android:background="@drawable/hr">
  45.   

  46.   
  47.     android:layout_width="fill_parent"
  48.     android:layout_height="fill_parent">
  49.         
  50.         
  51.             android:id="@+id/Msglist"
  52.             android:layout_width="fill_parent"
  53.             android:layout_height="match_parent"
  54.             android:divider="@drawable/divider"
  55.             android:dividerHeight="2px"
  56.             android:layout_margin="0px"
  57.             android:background="#BBFFFFFF"
  58.             android:cacheColorHint="#00000000"
  59.             android:layout_above="@+id/toolbarLayout"
  60.             android:fastScrollEnabled="true"  
  61.             android:focusable="true">
  62.         
  63.         
  64.         
  65.         android:id="@+id/loadingLayout"
  66.         android:layout_width="wrap_content"
  67.         android:layout_height="wrap_content"
  68.         android:orientation="vertical"
  69.         android:visibility="invisible"
  70.         android:layout_centerInParent="true">
  71.             
  72.             android:id="@+id/loading"
  73.             android:layout_width="31px"
  74.             android:layout_height="31px"
  75.             android:layout_gravity="center"
  76.             style="@style/progressStyle">
  77.             
  78.             
  79.             android:layout_width="wrap_content"
  80.             android:layout_height="wrap_content"
  81.             android:text="正在载入"
  82.             android:textSize="12px"
  83.             android:textColor="#9c9c9c"
  84.             android:layout_gravity="center"
  85.             android:layout_below="@+id/loading">
  86.             
  87.         
  88.         
  89.         
  90.         
  91.         android:id="@+id/toolbarLayout"
  92.         android:layout_width="fill_parent"
  93.         android:layout_height="44dip"
  94.         android:layout_alignParentBottom="true">
  95.         
  96.   
复制代码
这个布局首先是一个竖直的根LinearLayout,在这个根LinearLayout里面分别是两个RelativeLayout, 第一个RelativeLayout 用来显示页面的工具条,第二个RelativeLayout用来显示列表以及底部的功能栏,特别主要在这第二个RelativeLayout中有一个id 为loadingLayout的LinearLayout是用来显示数据载入中的动画,它的android:visibility属性为 invisible(也可以设置成gone,区别:invisible这个View在ViewGroupt中仍保留它的位置,不重新layout
gone>不可见,但这个View在ViewGroupt中不保留位置,重新layout,那后面的view就会取代他的位置。 ),也就是一开始不显示的意思,接下来看看
  1.         android:id="@+id/loading"
  2.         android:layout_width="31px"
  3.         android:layout_height="31px"
  4.         android:layout_gravity="center"
  5.         style="@style/progressStyle">
复制代码



       这个ProgressBar控件就是用来显示动画用的,关键就是 style="@style/progressStyle",在res/values目录下新建名为loadingstyles.xml,内容如下:


  1.    
复制代码
接着准备好r1.png - r8.png, 1.png
八张不同的小图片分别代表每旋转45度图片,八张刚好是360度。把这些图片添加到res/drawable-mdpi目录中。然后在res/anim目录下新建名为loading.xml动画文件,内容如下:

  1.   xmlns:android="">
  2.    
  3.    
  4.    
  5.    
  6.    
  7.    
  8.    
  9.    
复制代码




         本篇到这里就结束了,下一篇继续讲用户首页的功能实现,请关注。
阅读(859) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~