Ответ 1
Если android:background="?attr/selectableItemBackground"
работает, как я считаю, этот ответ должен решить вашу проблему:
Я хочу программно удалить серый фон в ImageButton. Я попробовал много способов удалить его, как -
imageButton.setBackgroundDrawable(null);
но при их реализации я не получаю эффект пульсации на ImageButton при прикосновении. (Нет подсветки при касании).
Есть ли способ удалить фон, но сохранить эффект пульсации или выделить.
Если android:background="?attr/selectableItemBackground"
работает, как я считаю, этот ответ должен решить вашу проблему:
Создайте свой собственный RippleDrawable
, и вам нужно использовать маску для пульсации, если вы собираетесь использовать прозрачный фон.
<!-- A red ripple masked against an opaque rectangle. --/>
<ripple android:color="#ffff0000">
<item android:id="@android:id/mask"
android:drawable="@android:color/white" />
</ripple>