Отрисовать один объект поверх другого через 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) присваиваешь ей состояние. Тогда и сработает анимация
В итоге, для кнопки тебе надо два файла-изображения и один файл-анимация.
