Отрисовать один объект поверх другого через Java

Используется анимация нажатия на элемент: https://github.com/frogermcs/LikeAnimation

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

Могу ли я наложить отрисовываемую анимацию на кнопку? То есть, при наличии условного xml:

<Button
    android:id="@+id/button"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_gravity="center" />

и кода:

Button button = findViewById(R.id.button);

как можно использовать класс/экземпляр класса LikeButtonView?


Ответы (2 шт):

Автор решения: Спицко Дмитрий

В xml пишите

<LikeButtonView
    android:id="@+id/button"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_gravity="center" />

и находите его же в коде

LikeButtonView button = findViewById(R.id.button);

Ставите свой onClickListener и пользуетесь

→ Ссылка
Автор решения: Игорь

Создаешь в drawable селектор

<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">

<item
  android:id="@+id/in"
  android:drawable="@drawable/icon_in"
  android:state_selected="false"/>

<item
  android:id="@+id/out"
  android:drawable="@drawable/icon_out"
  android:state_selected="true"/>

<transition
  android:drawable="@drawable/anim_in_to_out"
  android:fromId="@id/in"
  android:toId="@id/out"/>

Здесь в "item" описываешь состояние, изображение и айди. Состояний может быть не только два. Айди должны быть уникальны только для этого файла. Так же тут указывается иконка для этого состояния.

Далее в "transition" описываешь условие ее отображения, то есть переключение между итемами с указанными айди. Еще тут указан сам файл векторной анимации.

Теперь этот селектор добавляешь кнопке в поле "background" или "src", а в коде при нажатии, в данном случае методом "Button.setSelected(true) присваиваешь ей состояние. Тогда и сработает анимация

В итоге, для кнопки тебе надо два файла-изображения и один файл-анимация.

→ Ссылка