Анимация при зажатии

Как сделать при нажатии такую анимацию, чтобы типо серый круг увеличивался. (Не знаю как назвать это, все на скриншотах)кнопка


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

Автор решения: Sergei Buvaka

Если я вас понял, то вам нужен Ripple Effect

Добавляете

android:background="?attr/selectableItemBackground"

Если ваша View уже имеет какой-то background то:

android:foreground="?attr/selectableItemBackground"

Решение через foreground работает только для API >= 23

Если вам нужно что-то более кастомное, то можно написать что-то похожее на это, с вашими настройками

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/colorPrimaryDark">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="@color/colorPrimaryDark" />
            <corners android:radius="@dimen/button_radius_large" />
        </shape>
    </item>

    <item android:id="@android:id/background">
        <shape android:shape="rectangle">
            <gradient
                android:angle="90"
                android:endColor="@color/colorPrimaryLight"
                android:startColor="@color/colorPrimary"
                android:type="linear" />
            <corners android:radius="@dimen/button_radius_large" />
        </shape>
    </item>
</ripple>

И задать в параметре background вашей View

<Button
    ...
    android:background="@drawable/button_background" />
→ Ссылка