Ich benutze MvxRecyclerView und ich möchte das ausgewählte Element in der Liste animieren. Wie kann ich einen Verweis auf die ausgewählte Artikelansicht erhalten? Soll ich TouchDelegate verwenden?Animiertes ausgewähltes Element in MvxRecyclerView
2
A
Antwort
8
Sie sollten in der Lage sein, die View-Referenz über die RecyclerAdapter
zu erhalten.
Implementierung Beispiel:
Erstellen eines benutzerdefinierten MvxRecyclerAdapter
mit Ihrem gewünschten Animation zu beschäftigen.
public class SelectedAnimatorRecyclerAdapter : MvxRecyclerAdapter
{
public SelectedAnimatorRecyclerAdapter(IMvxAndroidBindingContext bindingContext)
: base(bindingContext)
{
}
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
base.OnBindViewHolder(holder, position);
holder.ItemView.Click += (s, e) =>
{
SetAnimation(holder.ItemView);
};
}
void SetAnimation(View viewToAnimate)
{
ScaleAnimation anim = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f, Dimension.RelativeToSelf, 0.5f, Dimension.RelativeToSelf, 0.5f);
anim.Duration = 2000;
viewToAnimate.StartAnimation(anim);
}
}
Implement-Adapter in Ihrem MvxRecyclerView
var recyclerView = view.FindViewById<MvxRecyclerView>(Resource.Id.my_recycler_view);
recyclerView.Adapter = new SelectedAnimatorRecyclerAdapter((IMvxAndroidBindingContext)BindingContext);