[Android] 設計以格狀為主的排版時,使用 GridView 或是 TableLayout 較好呢?
GridView 的功能類似 ListView,其所顯示的資料來自與其關連的 ListAdapter 物件,難以單純的用xml排版檔案就指定所繪元件的細節。TableLayout 則可以顯示任何所指定的 View,並可在xml排版檔案中就直接指定要繪製的元件內容。
因此,當每個格子中要繪製的東西較簡單(例如只是根據資料繪製出特定ImageView與TextView),並且這些東西邏輯上可視為同一群組來編輯時,可選擇GridView。若所繪的內容較複雜,或者功能要求是以"排版"為主時,可選擇TableLayout。
簡言之,放的東西簡單,沒有排版需求,用GridView;例如日曆畫面。放的東西複雜,或有排版需求時,使用TableLayout;例如一般非單欄選單的製作。
因此,當每個格子中要繪製的東西較簡單(例如只是根據資料繪製出特定ImageView與TextView),並且這些東西邏輯上可視為同一群組來編輯時,可選擇GridView。若所繪的內容較複雜,或者功能要求是以"排版"為主時,可選擇TableLayout。
簡言之,放的東西簡單,沒有排版需求,用GridView;例如日曆畫面。放的東西複雜,或有排版需求時,使用TableLayout;例如一般非單欄選單的製作。
留言