Je voulais créer un curseur d'image Viewpager dans un adaptateur de téléavertisseur pouvant être glissé des deux côtés (de droite à gauche) et (de gauche à droite). Le code ci-dessous ne peut commencer à partir de la première position et se déplacer vers la droite, mais je veux qu'il va dans les deux sens, c'est de gauche à droite et de droite à gauche à partir de n'importe quelle position.Curseur d'image Infinite Viewpager des deux côtés
ViewPagerAdapter public class étend PagerAdapter {
private Context context;
private LayoutInflater layoutInflater;
private Integer[] images = {R.drawable.cake, R.drawable.cake1, R.drawable.cake2};
public ViewPagerAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
private int pos = 0;
@Override
public Object instantiateItem(View container, int position) {
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.image_slide, null);
ImageView imageView = view.findViewById(R.id.imageView);
imageView.setImageResource(images[pos%images.length]);
imageView.setPaddingRelative(15, 0, 15, 0);
ViewPager vp = (ViewPager) container;
vp.addView(view, 0);
if (pos >= images.length - 1)
pos = 0;
else
pos++;
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
ViewPager vp = (ViewPager) container;
View view = (View) object;
vp.removeView(view);
}
}
Mais cette mise en œuvre est plus complexe. J'ai utilisé un viewpager pour les diapositives d'images et ne peux bouger que d'une seule direction de droite à gauche. Ma sortie désirée est de pouvoir balayer de gauche à droite aussi de la première position. Un exemple de cela est sur la page d'accueil de l'application flipkart. Un curseur d'image infini des deux côtés. Btw merci pour votre réponse. –