利用 ViewPager 實現圖片無限輪播,配合 RadioGroup 或自定義指示器展示當前頁碼,根據後端返回的 JSON 圖片數量動態適配。
List<String> imageUrls。getCount() 返回 Integer.MAX_VALUE,getItem(position) 取模映射真實數據。Handler 或 ScheduledExecutorService 定時 viewPager.setCurrentItem(current+1)。OnPageChangeListener 中更新 RadioGroup 選中狀態。onResume 啟動輪播,onPause 停止,避免內存洩漏。implementation 'com.github.youth5201314:banner:1.4.10',支援圖片加載框架接入(Glide/Picasso)、自定義指示器、頁面轉場動畫。// 後端返回
{
"banners": [
{"image": "https://cdn.xxx.com/1.jpg", "link": "https://xxx.com/a"},
{"image": "https://cdn.xxx.com/2.jpg", "link": "https://xxx.com/b"}
]
}
// 解析後傳遞給 Banner
List<String> images = new ArrayList<>();
for (BannerItem item : response.banners) images.add(item.image);
banner.setImages(images).start();
採用成熟開源庫可大幅減少造輪子成本,專注業務邏輯與異常處理(圖片加載失敗佔位、點擊跳轉埋點等)。