Попробуйте это. Это не совсем изменит ваш отступ, но немного увеличит изображение, а затем вернет его назад (или вернет его к 0,9 и 1,0, чтобы уменьшить и уменьшить). Я думаю, что это то, что вы ищете.
Использовать селектор под ресурсами аниматора:
<!-- res/animator/image_button_pressed.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<set>
<objectAnimator
android:duration="100"
android:propertyName="scaleX"
android:valueTo="1.1"
android:valueType="floatType"/>
<objectAnimator
android:duration="100"
android:propertyName="scaleY"
android:valueTo="1.1"
android:valueType="floatType"/>
</set>
</item>
<item android:state_focused="false">
<set>
<objectAnimator
android:duration="100"
android:propertyName="scaleX"
android:valueTo="1.0"
android:valueType="floatType"/>
<objectAnimator
android:duration="100"
android:propertyName="scaleY"
android:valueTo="1.0"
android:valueType="floatType"/>
</set>
</item>
</selector>
Вы можете иметь 0 длительностей для прямого перехода к значению или указать длительность.
Затем, чтобы использовать его, установите android:stateListAnimator
на ваш взгляд:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/your_drawable"
android:stateListAnimator="@animator/image_button_pressed"/>
Вы также можете добавить другой объектAnimator в набор, чтобы изменить перевод Z, чтобы он поднимался при печати (в соответствии с указаниями к материалу)