К сожалению, дистрибьютор не предоставляет пример кода для xamarin в свой пакет nuget. Обычно код выглядит довольно похоже, поэтому вы можете угадать / попробовать свой путь, используя примеры кода для Android.
начните с расширения класса
public class SliderAdapterExample : SliderViewAdapter<SliderAdapterExample.SliderAdapterVH> {
}
, а затем введите "public"переопределить "внутри него, и Visual Studio предоставит список возможных методов для переопределения, затем вы выберете тот, который, кажется, соответствует тому, что в примере кода Android. Обычно в Xamarin методы начинаются с заглавной буквы, в отличие от android, где они начинаются со строчной буквы.
, вы также можете ввести «SliderViewAdapter» в класс, в который вы импортировали библиотеку, и затем команду нажатьчтобы открыть аннотацию реализации nuget, которая может дать вам больше информации о том, какие части доступны, как они названы и должны быть реализованы.
воссоздает пример кода в xamarin следующим образом:
using System;
using Android.Content;
using Android.Views;
using Android.Widget;
using BumpTech.GlideLib;
using Java.Lang;
using Smarteist.AutoImageSlider;
namespace testproject.Droid
{
public class testclass : SliderViewAdapter
{
private Context context;
public testclass(Context context)
{
this.context = context;
}
public override int Count => 4;
public override void OnBindViewHolder(Java.Lang.Object viewHolder, int position)
{
SliderAdapterVH _viewHolder = (SliderAdapterVH)viewHolder;
_viewHolder.textViewDescription.Text = "This is slider item " + position;
switch (position)
{
case 0:
Glide.With(_viewHolder.itemView)
.Load("https://images.pexels.com/photos/218983/pexels-photo-218983.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
.Into(_viewHolder.imageViewBackground);
break;
case 1:
Glide.With(_viewHolder.itemView)
.Load("https://images.pexels.com/photos/747964/pexels-photo-747964.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260")
.Into(_viewHolder.imageViewBackground);
break;
case 2:
Glide.With(_viewHolder.itemView)
.Load("https://images.pexels.com/photos/929778/pexels-photo-929778.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
.Into(_viewHolder.imageViewBackground);
break;
default:
Glide.With(_viewHolder.itemView)
.Load("https://images.pexels.com/photos/218983/pexels-photo-218983.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
.Into(_viewHolder.imageViewBackground);
break;
}
}
public override Java.Lang.Object OnCreateViewHolder(ViewGroup parent)
{
View inflate = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.image_slider_layout_item, null);
return new SliderAdapterVH(inflate);
}
class SliderAdapterVH : SliderViewAdapter.ViewHolder
{
public View itemView;
public ImageView imageViewBackground;
public TextView textViewDescription;
public SliderAdapterVH(View itemView) : base(itemView)
{
imageViewBackground = itemView.FindViewById(Resource.Id.iv_auto_image_slider);
textViewDescription = itemView.FindViewById(Resource.Id.tv_auto_image_slider);
this.itemView = itemView;
}
}
}
}