c# - Xamarin.Android ¿Cómo creo una galería de imágenes que se puede deslizar usando ViewPager?
android-viewpager (1)
La galería de Android ahora está en desuso, así que necesito usar ViewPager. Solo encontré ejemplos de código para Xamarin.Forms, por lo que agradecería que alguien me pudiera ayudar con una muestra de código para Xamarin.Android.
Mi pregunta es diferente de Hacer clic en Viewpager Xamarin Android porque no necesito hacer clic en las fotos, solo tuve que deslizar las imágenes en la galería.
Aunque es una pregunta diferente, aquí hay una solución que no requiere que uses un fragmento de imagen para un control deslizante simple. https://.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;
}
}