Анимация свойств внутри RecyclerView

Обязательно укажите lineterinator='\n' при создании записи; в противном случае лишняя пустая строка может быть записана в файл после каждой строки данных, когда источники данных из другого файла csv ...

Вот мое решение:

with open('csvfile', 'a') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter='    ',quotechar='|', quoting=csv.QUOTE_MINIMAL, lineterminator='\n')
for i in range(0, len(data)):
    spamwriter.writerow(data[i])
1
задан Reaz Murshed 12 March 2019 в 03:56
поделиться

1 ответ

Вам нужен этот эффект:

в вашем OnBindViewHolder адаптере:

private int lastAnimatedPosition = -1;

public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
   {
     RunEnterAnimation(viewHolder.ItemView, position);   
   }

метод RunEnterAnimation:

private void RunEnterAnimation(View view, int position)
   {
      if (position > lastAnimatedPosition)
       {
          lastAnimatedPosition = position;
          ObjectAnimator animator1 = ObjectAnimator.OfFloat(view, "TranslationY", -500, 0);
          animator1.SetDuration(2000);
          ObjectAnimator animator2 = ObjectAnimator.OfFloat(view, "alpha", 0, 1);
          animator2.SetDuration(2000);
          AnimatorSet animatorSet = new AnimatorSet();
          animatorSet.PlayTogether(animator1, animator2);
          animatorSet.StartDelay=5;
          animatorSet.Start();
       }
   }

ps : если вы не хотите использовать xml, вы можете использовать метод, описанный выше, и вы также можете использовать LayoutAnimation с Resources/anim/xx.xml, а также можете реализовать ItemAnimator

0
ответ дан Leo Zhu - MSFT 12 March 2019 в 03:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: