我正在使用viewpager變壓器。我可以使用transformPage()方法添加轉換效果。下面給出的是我的傳呼機。如何在PagerTransform動畫之後在ViewPager中動畫一個項目?
final ViewPager pager = (ViewPager) localView
.findViewById(R.id.pager);
pager.setAdapter(new my_adapter());
pager.setPageTransformer(true, new PageTransformer() {
@Override
public void transformPage(View view, float position) {
int pageWidth = view.getWidth();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(1);
} else if (position <= 1) { // [-1,1]
View dummyImageView = view.findViewById(R.id.tourImage);
dummyImageView.setTranslationX(-position
* (pageWidth/2)); // Half
View imageBottom = view
.findViewById(R.id.tour_bottom_image);
imageBottom.setTranslationX(-position
* (pageWidth/10)); // Half speed
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(1);
}
}
});
這是我的適配器,
private class my_adapter extends PagerAdapter {
@Override
public int getCount() {
return num_pages;
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view == o;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View new_view = null;
LayoutInflater inflater = getActivity().getLayoutInflater();
new_view = inflater.inflate(R.layout.tour_page_one, null);
TextView tvTourDesc = (TextView) new_view
.findViewById(R.id.tourDesc);
ImageView imageTour = (ImageView) new_view
.findViewById(R.id.tourImage);
ImageView imageBottomTour = (ImageView) new_view
.findViewById(R.id.tour_bottom_image);
container.addView(new_view);
return new_view;
}
}
我所試圖做的是在適配器動畫的項目,比如imageTour ImageView的,一旦過渡動畫完成。當我添加任何動畫時,它將與分頁器轉換動畫一起開始。我想在轉換動畫之後始終對其進行動畫處理。我嘗試使用onPageChangeListener與傳呼機,但它不會返回除當前頁碼以外的任何視圖,以便我可以將動畫添加到imageTour(imageView)。