首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 佈局實戰:一大圖疊兩小圖循環列表的實現

     編輯:程式設計疑難解答

設計需求

列表項佈局模式:一張大圖佔滿寬度 → 兩張小圖左右分佈 → 再一張大圖 → 兩張小圖... 循環交替。

實現方案

  1. RecyclerView + 多類型 ViewHolder(推薦)
    getItemViewType(position) 根據位置返回 TYPE_BIG / TYPE_SMALL_PAIR;
    onCreateViewHolder 加載對應佈局(大圖 ImageView / 小圖 LinearLayout 含兩 ImageView,layout_weight="1" 平均分配寬度)。
  2. LinearLayout 嵌套 + layout_weight(簡單靜態頁)
    垂直 LinearLayout 依次添加:
    - 大圖 ImageView match_parent
    - 水平 LinearLayout 含兩 ImageView weight=1
    循環添加至容器。
  3. GridLayout / FlexboxLayout(現代彈性佈局)
    設置 spanCount 與 layout_flexGrow 實現不等寬自適應,代碼更簡潔。

關鍵屬性

<ImageView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:scaleType="centerCrop" />

width=0dp + weight=1 是「等寬分配剩餘空間」的黃金組合。

性能提示

  • 圖片加載使用 Glide/Picasso,配置 override() 限制解碼尺寸,防止 OOM。
  • RecyclerView 複用池 setViewCacheSize 優化頻繁切換類型的閃動。

掌握權重與多類型列表,複雜佈局也能靈活構建。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved