ListView項(Item)的三種佈局
List中的item佈局有三種:
自定義的佈局,使用了相對佈局(RelativeLayout,見list_item.xml),左側一個圖片,右側上方是字型比較大的title,下方是字型稍小的description;
第二種是Android自帶的佈局(見原始碼裡的simple_list_item_2.xml),主要是一個垂直的LinearLayout,裡面包含兩個ID分別為text1、text2的TextView,這兩個TextView的字型大小不一樣,一個帶textAppearanceLarge屬性,另外一個帶textAppearanceSmall屬性;
第三種也是Android自帶的佈局(見原始碼裡的two_line_list_item.xml),主要是一個垂直的LinearLayout,裡面包含兩個ID分別為text1、text2的TextView,這兩個TextView的字型大小一樣,但每個TextView還帶一個字型加粗的屬性。
SimpleAdapter的使用:
建構函式: SimpleAdapter(Context context, List> data, int resource, String[] from, int[] to)
引數有5個:
context:也就是上下文,而Activity都是繼承於Context的,所以這個引數一般使用Activity的例項;
data:型別要為一個List的子類,且List中的每個元素都必須為Map的子類,每個Map中以有一對或多對的Key-Value對,這些值與下面的引數from有對應;
resource:這是每個List項(Item)對應的XML佈局資原始檔名,在裡面控制List項顯示的元素以及相對位置;
from:是一個字串陣列,可以理解為列名,對應於data資料中Map元素的Key值,只有包含在這個字串陣列的元素對應到Map中的Value值才能顯示到TextView中(這些TextView在最後一個引數to配置),所以這些Value值需要為字串或者有toString()的方法;
to:TextView元件ID的陣列,上面的from引數配置了Key值,而根據這個Key值從data引數裡的map取出的value值需要設定到TextView中,而這些TextView的id需要在這個陣列中配置。而且這些TextView需要在引數resource對應的XML資原始檔中配置。
相關文章
- Flutter 開發從 0 到 1(三)佈局與 ListViewFlutterView
- 實現三欄佈局的幾種方法
- CSS三欄佈局的五種寫法CSS
- 三種方法實現CSS三欄佈局CSS
- Flutter 佈局(十)- ListBody、ListView、CustomMultiChildLayout詳解FlutterView
- 三欄式佈局的幾種實現方式
- CSS三欄佈局的5種方法詳解CSS
- 居中佈局、三欄佈局
- 網頁佈局------幾種佈局方式網頁
- CSS佈局之三欄佈局CSS
- Flex佈局-子項Flex
- Grid 佈局-子項補充及常用佈局
- Android回顧--(十) ListView的優化和多佈局複用AndroidView優化
- css經典佈局系列三——三列布局(聖盃佈局、雙飛翼佈局)CSS
- CSS 列表項佈局技巧CSS
- CSS 兩欄佈局和三欄佈局CSS
- 三欄佈局之自適應佈局
- css佈局-實現左中右佈局的5種方式CSS
- CSS 三欄佈局之聖盃佈局和雙飛翼佈局CSS
- 三列自適應佈局(聖盃佈局)
- CSS:三欄佈局之雙飛翼佈局CSS
- 幾種常見的CSS佈局CSS
- css網頁的幾種佈局CSS網頁
- 前端常見的十種佈局前端
- CSS 5種佈局方案CSS
- CSS佈局-各種居中CSS
- Flex常見佈局例項Flex
- flex佈局語法+例項Flex
- css實現三欄佈局的幾種方法及優缺點CSS
- 三欄佈局總結
- css各種佈局總結CSS
- CSS-常見兩欄、三欄佈局(雙飛翼佈局、聖盃佈局)CSS
- 靜態頁面佈局例項
- CSS例項詳解:Flex佈局CSSFlex
- flex居中佈局程式碼例項Flex
- Web 開發者如何理解 Flutter 佈局之 —— 5. ListView 和 ScrollBarWebFlutterView
- android開發中如何動態獲取listview中的item的值AndroidView
- 乾貨!各種常見佈局實現+知名網站例項分析網站