歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中ListView的用法案例

ListView:

在Android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據數據的長度自適應顯示。抽空把對ListView的使用做了整理,並寫了個小例子,如下圖。

 

想實現列表的顯示,需要三個元素:

1.ListView 用來展示列表的數據,直觀來說就是一個存放數據行的容器,一般定義在布局文件中。(只有通過它才能把數據給顯示到屏幕上來)

2.適配器 用來把數據按照指定格式映射到ListView上得中介。(可以看做是ListView和數據之間連接的橋梁)

3.數據 具體的將被映射的字符串,圖片,組件等等。。。(不要把艷照映射上來喔。。。)

接下來,跟我這我一步步實現:

第一步:先創建一個布局文件,並且指定一個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>  

Copyright © Linux教程網 All Rights Reserved