ViewPager 순환 슬라이딩 이미지 컬렉션 및 이미지 삭제 기능

1812 단어 android개발하다
최근에 프로젝트를 하나 하고 있는데 필요한 기능은viewPager로 그림을 보여줍니다. 좌우로 순환하고 미끄러지며 삭제할 수 있습니다.많은 장애에 부딪혔으니 이제 자신의 경험을 다음과 같이 정리해 봅시다.
1. 좌우 순환 슬라이딩:
ViewPager의 특성에 따라: 첫 번째 장에서 마지막 장으로 미끄러질 수 있지만 순환해서 미끄러질 수 없습니다.어떻게 해결합니까?
사고방식: 사진 집합에서 두 개의 위치가 더 많다.첫 번째는 마지막 사진, 마지막 자리는 첫 번째 사진.중간에 너의 사진 집합을 놓아라.
코드:
void pageSelected(int position) {
  if (position == 0) {
//          ,  pager               
    mPagers.setCurrentItem(mListPhotos.size(), false);
  } else if (position == mImageViews.size() - 1) {
  //        ,  pager            。Flase       ,  pager       ,                 ,      false;  
   mPagers.setCurrentItem(1,false);
  } else {
    mPagers.setCurrentItem(position);
  }
}
2. 기능 삭제
           ,       ,     notifyDataSetChanged()        view,
    :        ,pageadapter        position,     destroyItem()       position  ,     instantiateItem()      view 
 
@Override public int getItemPosition(Object object) {
  return POSITION_NONE;
}
또 다른 질문: 만약 집합에서 이 그림을 삭제했다면, 상기 코드를 실행한 후, 이 페이지는 공백을 보일 것입니다.
해결 방법:
@Override public void destroyItem(ViewGroup container, int position, Object object) {
  ImageView imageView = mImageViews.get(position % mImageViews.size());
  container.removeView(imageView);
  imageView.setImageBitmap(getBitmap(mCurUrl));
}
이렇게 하면 그가 그림을 삭제한 후에 현재 표시해야 할 그림을 표시할 수 있다.
이로 인해 고생하는 우리들에게 약간의 도움이 되기를 바란다

좋은 웹페이지 즐겨찾기