Android中ListView的用法案例

nickey 2011-12-16

ListView:

在Android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。

Android中ListView的用法案例

 

想实现列表的显示,需要三个元素:

1.ListView 用来展示列表的数据,直观来说就是一个存放数据行的容器,一般定义在布局文件中。(只有通过它才能把数据给显示到屏幕上来)

2.适配器 用来把数据按照指定格式映射到ListView上得中介。(可以看做是ListView和数据之间连接的桥梁)

3.数据 具体的将被映射的字符串,图片,组件等等。。。(不要把艳照映射上来喔。。。Android中ListView的用法案例

接下来,跟我这我一步步实现:

第一步:先创建一个布局文件,并且指定一个ListView,id为home_lv_msgList

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical"   
  6.     android:background="@drawable/send_content_bg"  
  7.     >  
  8.       
  9.     <!-- 标题栏部分 -->  
  10.     <RelativeLayout   
  11.         android:layout_width="fill_parent"  
  12.         android:layout_height="wrap_content"  
  13.         android:background="@drawable/send_title_bg"  
  14.         >  
  15.         <ImageButton   
  16.             android:id="@+id/home_iv_edit"  
  17.             android:layout_width="wrap_content"  
  18.             android:layout_height="wrap_content"  
  19.             android:background="@drawable/btn_edit"  
  20.             android:layout_alignParentLeft="true"  
  21.             android:layout_centerVertical="true"  
  22.             android:layout_marginLeft="10dip"  
  23.             />  
  24.         <TextView   
  25.             android:id="@+id/home_tv_showName"  
  26.             android:layout_width="wrap_content"  
  27.             android:layout_height="wrap_content"  
  28.             android:text="12345"  
  29.             android:textColor="#343434"  
  30.             android:textSize="20sp"  
  31.             android:layout_centerInParent="true"  
  32.             />  
  33.         <ImageButton   
  34.             android:id="@+id/home_btn_refreshBtn"  
  35.             android:layout_width="wrap_content"  
  36.             android:layout_height="wrap_content"  
  37.             android:layout_alignParentRight="true"  
  38.             android:layout_centerVertical="true"  
  39.             android:layout_marginRight="10dip"  
  40.             android:background="@drawable/btn_refresh"  
  41.             />  
  42.   
  43.     </RelativeLayout>  
  44.       
  45.       
  46.     <RelativeLayout   
  47.         android:layout_width="fill_parent"  
  48.         android:layout_height="fill_parent"  
  49.         >  
  50.         <!-- 微博信息展示部分 -->  
  51.         <ListView   
  52.             android:id="@+id/home_lv_msgList"  
  53.             android:layout_width="fill_parent"  
  54.             android:layout_height="fill_parent"  
  55.             android:divider="@drawable/divider"  
  56.             android:dividerHeight="2dip"  
  57.             android:background="#BBFFFFFF"  
  58.             android:cacheColorHint="#00000000"  
  59.             android:fastScrollEnabled="true"  
  60.             android:focusable="true"  
  61.             android:layout_margin="0dip"  
  62.             android:layout_above="@+id/home_menuLayout"  
  63.             >  
  64.         </ListView>  
  65.           
  66.         <!-- 进度条 -->  
  67.         <LinearLayout   
  68.             android:id="@+id/home_loadLayout"  
  69.             android:layout_width="wrap_content"  
  70.             android:layout_height="wrap_content"  
  71.             android:orientation="vertical"  
  72.             android:visibility="invisible"  
  73.             android:layout_centerInParent="true"  
  74.             >  
  75.             <ProgressBar   
  76.                 android:id="@+id/home_loading"  
  77.                 android:layout_width="31dip"  
  78.                 android:layout_height="32dip"  
  79.                 android:layout_gravity="center"  
  80.                 style="@style/progressStyle"  
  81.                 />  
  82.             <TextView   
  83.                 android:layout_width="wrap_content"  
  84.                 android:layout_height="wrap_content"  
  85.                 android:text="正在载入"  
  86.                 android:textSize="12dip"  
  87.                 android:textColor="#9c9c9c"  
  88.                 android:layout_gravity="center"  
  89.                 android:layout_below="@+id/home_loading"  
  90.                 />  
  91.           
  92.         </LinearLayout>  
  93.           
  94.         <!-- 底部菜单部分 -->  
  95.         <LinearLayout   
  96.             android:id="@+id/home_menuLayout"  
  97.             android:layout_width="fill_parent"  
  98.             android:layout_height="wrap_content"  
  99.             android:orientation="horizontal"  
  100.             android:background="@drawable/menu_bg1"  
  101.             android:layout_alignParentBottom="true"  
  102.             android:gravity="bottom"  
  103.             >  
  104.             <RelativeLayout   
  105.                 android:layout_width="wrap_content"  
  106.                 android:layout_height="wrap_content"  
  107.                 android:layout_weight="1"  
  108.                 >  
  109.                 <ImageButton   
  110.                 android:id="@+id/home_ib_homepage"  
  111.                 android:layout_width="wrap_content"  
  112.                 android:layout_height="wrap_content"  
  113.                 android:background="@drawable/btn_home"  
  114.                 android:layout_centerInParent="true"  
  115.                 />  
  116.             </RelativeLayout>  
  117.             <RelativeLayout   
  118.                 android:layout_width="wrap_content"  
  119.                 android:layout_height="wrap_content"  
  120.                 android:layout_weight="1"  
  121.                 >  
  122.                 <ImageButton   
  123.                 android:id="@+id/home_ib_message"  
  124.                 android:layout_width="wrap_content"  
  125.                 android:layout_height="wrap_content"  
  126.                 android:background="@drawable/btn_message"  
  127.                 android:layout_centerInParent="true"  
  128.                 />  
  129.             </RelativeLayout>  
  130.             <RelativeLayout   
  131.                 android:id="@+id/home_myrecordLayout"  
  132.                 android:layout_width="wrap_content"  
  133.                 android:layout_height="wrap_content"  
  134.                 android:layout_weight="1"  
  135.                 >  
  136.                 <ImageButton   
  137.                 android:id="@+id/home_ib_myrecord"  
  138.                 android:layout_width="wrap_content"  
  139.                 android:layout_height="wrap_content"  
  140.                 android:background="@drawable/btn_myrecord"  
  141.                 android:layout_centerInParent="true"  
  142.                 />  
  143.             </RelativeLayout>  
  144.             <RelativeLayout   
  145.                 android:layout_width="wrap_content"  
  146.                 android:layout_height="wrap_content"  
  147.                 android:layout_weight="1"  
  148.                 >  
  149.                 <ImageButton   
  150.                 android:id="@+id/home_ib_tail"  
  151.                 android:layout_width="wrap_content"  
  152.                 android:layout_height="wrap_content"  
  153.                 android:background="@drawable/btn_tail"  
  154.                 android:layout_centerInParent="true"  
  155.                 />  
  156.             </RelativeLayout>  
  157.             <RelativeLayout   
  158.                 android:layout_width="wrap_content"  
  159.                 android:layout_height="wrap_content"  
  160.                 android:layout_weight="1"  
  161.                 >  
  162.                 <ImageButton   
  163.                 android:id="@+id/home_ib_more"  
  164.                 android:layout_width="wrap_content"  
  165.                 android:layout_height="wrap_content"  
  166.                 android:background="@drawable/btn_more"  
  167.                 android:layout_centerInParent="true"  
  168.                 />  
  169.             </RelativeLayout>  
  170.               
  171.         </LinearLayout>  
  172.           
  173.     </RelativeLayout>  
  174.   
  175. </LinearLayout>  

Android中ListView的用法案例

相关推荐

开发中的点点滴滴 / 0评论 2018-03-30