ViewPager實現左右無限迴圈滑動
public class MyViewPagerAdapter extends PagerAdapter {
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 實現左右迴圈時不能銷燬
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 實現左右迴圈時新增捕獲異常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 實現左右迴圈時不能銷燬
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 實現左右迴圈時新增捕獲異常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
}
使用:
ViewPager viewPager = new ViewPager(context);
viewPager.setAdapter(new MyViewPagerAdapter(context, imageUrls));
// 實現向左滑動
viewPager.setCurrentItem(imageUrls.size() * 100);
相關文章
- 左右迴圈滑動的viewpagerViewpager
- android可以無限迴圈滑動的ViewPagerAndroidViewpager
- RecyclerView 、ViewPager 左右滑動衝突Viewpager
- Android 禁止ViewPager左右滑動AndroidViewpager
- ViewPager 禁止左右滑動完美解決Viewpager
- UI介面微信底部(ViewPager實現Tab,左右滑動+底部點選)UIViewpager
- 直播系統app原始碼,垂直,水平無限迴圈滑動APP原始碼
- 無限for迴圈(死迴圈)
- javascript無限迴圈滾動JavaScript
- 實現抖音 “影片無限滑動“效果
- 記錄---實現抖音 “影片無限滑動“效果
- ViewPager兩種方式實現無限輪播Viewpager
- CSS實現迴圈無縫滾動CSS
- Java無限迴圈問題Java
- 直播系統原始碼,ViewPager載入大圖 左右滑動原始碼Viewpager
- 直播系統原始碼,雲朵左右移動迴圈動畫實現原始碼動畫
- 微信小程式實現卡片左右滑動效果微信小程式
- 安卓開發:viewpager + fragment 實現滑動切換安卓ViewpagerFragment
- Flutter迴圈滑動的PageViewFlutterView
- iOS-無限迴圈輪播圖iOS
- IOS 無限迴圈小視訊播放iOS
- 使用ViewPager和TabLayout來實現滑動切換效果ViewpagerTabLayout
- MVVM框架下實現左右滑動切換tabMVVM框架
- Android左右滑動效果的程式碼實現Android
- CSS3動畫實戰之多關鍵幀實現無限迴圈動效的時間間隔CSSS3動畫
- HarmonyOS 與 ArkTS | ForEach 迴圈渲染 + List 實現滑動影片列表
- win10自動修復失敗無限迴圈怎麼辦_win10開機自動修復失敗無限迴圈如何解決Win10
- 原生js系列之無限迴圈輪播元件JS元件
- AlloyTouch之無限迴圈select外掛
- PHP無限遞迴選單的實現流程PHP遞迴
- Android之ViewPager+GridView實現GridView介面滑動AndroidViewpager
- 無縫迴圈滾動
- iOS開發:Swift實現的輪播圖、無限迴圈檢視控制元件iOSSwift控制元件
- Vue無限滑動周選擇日期的元件Vue元件
- web前端仿手機左右滑動(手滑+自動滑動)Web前端
- win10無限迴圈自動修復怎麼辦_win10開機無限迴圈自帶修復失敗重啟如何解決Win10
- ListView 實現帶有Filpper效果的左右滑動刪除 ItemView
- android的左右側滑選單實現Android