Как анимировать элемент в макете вкладки при выборе вкладки? [закрытый]


Я хочу поместить анимацию, когда я касаюсь вкладки я хочу анимацию вращения изображения на иконке вкладки. Ниже приведен пример, но он находится в iOS.

Введите описание изображения здесь

2 6

2 ответа:

Может сработать следующий подход: создайте AnimatedVectorDrawable , как показано здесь https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html и установите его в качестве значка вашей вкладки.

Назначьте прослушиватель вашему TabLayout, в TabLayout.OnTabSelectedListener#onTabSelected(TabLayout.Tab tab) у вас есть доступ к значку вкладки с помощью tab.getIcon(). Запустите анимацию, связанную с вашим AnimatedVectorDrawable, следующим образом:

final Drawable icon = tab.getIcon();
((Animatable) icon).start();

Я думаю,что это полностью основано на анимации,я предлагаю вам следовать этой демонстрации, это именно то, что вы ищете.

<com.like.LikeButton
app:icon_type="star"
app:circle_start_color="@color/colorPrimary"
app:like_drawable="@drawable/thumb_on"
app:unlike_drawable="@drawable/thumb_off"
app:dots_primary_color="@color/colorAccent"
app:dots_secondary_color="@color/colorPrimary"
app:circle_end_color="@color/colorAccent"
app:icon_size="25dp"
app:liked="true"
app:anim_scale_factor="2"
app:is_enabled="false"
/>

Вывод :

Введите описание изображения здесь