Xamarin.Android Comment créer une galerie d'images à faire glisser à l'aide de ViewPager?


Maricela Potoc

La galerie Android est désormais obsolète, je dois donc utiliser ViewPager. Je n'ai trouvé que des exemples de code pour Xamarin.Forms, donc j'apprécierais que quelqu'un puisse m'aider avec un exemple de code pour Xamarin.Android.

Ma question est différente de Click on Viewpager Xamarin Android car je n'ai pas besoin de cliquer sur les photos, je devais seulement faire glisser les images dans la galerie.

Florin Birgu

Bien que ce soit une question différente, il existe une solution ici qui ne vous oblige pas à utiliser un fragment d'image pour un simple curseur. https://stackoverflow.com/a/33209130/5436000

public class ImageSliderAdapter : PagerAdapter
{
    Context _context;
    List<string> _imageUrls;

    public ImageSliderAdapter (Context context, List<string> imageUrls)
    {
        _imageUrls = imageUrls;
        _context = context;
    }

    public override bool IsViewFromObject (Android.Views.View view, Java.Lang.Object @object)
    {
        return view == ((LinearLayout)@object);
    }

    public override int Count {
        get {
            return _imageUrls.Count;
        }
    }

    public override void DestroyItem (ViewGroup container, int position, Java.Lang.Object objectValue)
    {
    }

    public override Java.Lang.Object InstantiateItem (ViewGroup container, int position)
    {

        View view = container;
        var inflater = _context.GetSystemService (Context.LayoutInflaterService) as LayoutInflater;
        view = inflater.Inflate (Resource.Layout.image_slider_item, null);
        var child = view.FindViewById<ImageView> (Resource.Id.image_slider_item);
        child.Click += (o, e) =>
        {
            //your code here
        };

        Bitmap image = null;
        Task.Run (() => {
            URL url = new URL (_imageUrls [position]);
            image = BitmapFactory.DecodeStream (url.OpenConnection ().InputStream);
        }).ContinueWith (t => {
            (_context as MainView).RunOnUiThread (() => {
                child.SetImageBitmap (image);
            });
        });

        container.AddView (view);
        return view;
    }
}

Articles connexes


Comment créer une galerie d'images à défilement infini

Rage A. Shadey J'essaie de trouver un moyen d'avoir plusieurs images sur la même ligne s'étendant au-delà du div, continuez à faire défiler vers la gauche jusqu'à ce qu'il soit hors de vue, à quel point il se déplacerait à la fin de la galerie d'images et cont

Comment créer une galerie d'images avec jquery

ani_css J'ai jquery carousel (cycle2) et popup (lightgallery) et vous verrez mon carrousel sur l'exemple et cet exemple fonctionne très bien et comme je m'y attends $(document).ready(function(){ function generateSlider(){ $('.mySlideShow').cycle({

Comment créer une galerie d'images DRY - dans Django

Putain de Mike J'ai bricolé une petite galerie d'images pour mon projet depuis quelques jours maintenant, mais j'ai l'impression que je ne m'y prends pas de manière très pythonique jusqu'à présent en ce qui concerne cette partie du projet. Beaucoup de question

Comment créer une mini galerie d'images en javascript ?

Cliquez sur la flèche J'ai essayé de créer une mini galerie d'images qui a une balise img pour l'image principale appelée "defaultPic" et deux autres balises img pour les sous-images appelées "subPic1" et "subPic2". Donc, fondamentalement, l'image par défaut e