2017-03-05 2 views
0

ich Gruppe von Bildern in Ansicht Pager ich möchte die Bilder automatisch aber in Zeitlupe. mein Problem ist, die Bilder sehr schnell bewegen, wie das wie zu lösen zu tun, dass in meinem Code Pager adapter`verlangsamen den Viewpager

public class CustomerAdapter extends PagerAdapter { 
//private int[] images = {R.mipmap.img1,R.mipmap.img2,R.mipmap.img3,R.mipmap.img4}; 
private Context ctx; 
private String[] urls; 
private LayoutInflater inflater; 
final Handler handler = new Handler(); 
public Timer swipeTimer ; 

public CustomerAdapter(Context ctx,String []urls){ 
    this.ctx = ctx; 
    this.urls=urls; 
} 
@Override 
public int getCount() { 
    return urls.length; 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return (view ==(LinearLayout)object); 
} 

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
    inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = inflater.inflate(R.layout.swip,container,false); 
    ImageView img =(ImageView)v.findViewById(R.id.itemview); 

    Picasso.with(ctx).load(urls[position]).into(img); 


    container.addView(v); 
    return v; 
} 

@Override 
public void destroyItem(View container, int position, Object object) { 
    container.refreshDrawableState(); 
} 
public void setTimer(final ViewPager myPager, int time, final int numPages, final int curPage){ 

    final Runnable Update = new Runnable() { 
     int NUM_PAGES =numPages; 
     int currentPage = curPage ; 
     public void run() { 
      if (currentPage == NUM_PAGES) { 
       currentPage = 0; 
      } 
      myPager.setCurrentItem(currentPage++, true); 
     } 
    }; 

    swipeTimer = new Timer(); 
    swipeTimer.schedule(new TimerTask() { 

     @Override 
     public void run() { 
      handler.post(Update); 
     } 
    }, 1000, time*1000); 

} 
public void stopTimer(){ 
    //handler.removeCallbacks(null); 
    swipeTimer.cancel(); 
} 
} 

in meiner Startseite

ViewPager viewPager = (ViewPager)convertView.findViewById(R.id.view_pager); 
    adapter = new CustomerAdapter(getContext(),imagesfortest); 
    viewPager.setAdapter(adapter); 
    viewPager.setCurrentItem(0); 
    adapter.setTimer(viewPager,5000,4,imagesfortest.length); 

Antwort

0

Set Transformation. Reference

mPager.setPageTransformer(true, new ZoomOutPageTransformer()); 

dann anpassen Transformation Animation.

+0

es half mir, ein- und auszublenden, wenn die Bilder verschoben wurden, aber immer noch bewegen sie sich sehr schnell –

+0

ja das ist die Animation. damit du es kontrollieren kannst, was immer du willst. Der Fade oder Zoom ist nur ein Beispiel. –

+0

ok, ich habe viel Dank verstanden. –