Эффект ряби для предварительного леденца

Я занимаюсь разработкой приложения, в которое я хочу добавить эффект ряби в моем обзоре переработчика. Так может кто-нибудь сказать мне код, чтобы сделать это, и есть ли способ, которым я могу достичь этого в pre lollipop тоже. Если нет, пожалуйста, предложите мне код с моим приложением может показать эффект ряби в леденце и верхних версиях и любой простой эффект для предварительного леденца, чтобы показать, что элемент был нажат или нажал. Спасибо.

2 ответа

Решение

Вы можете использовать эту библиотеку, добавив эффект ряби в версию, предшествующую Lolipop.

например

добавить кнопку в файл макета

<com.rey.material.widget.Button
    style="@style/ButtonRippleStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="BUTTON"
    app:rd_enable="true"/>

добавить собственный стиль в свой файл стиля

<style name="ButtonRippleStyle" parent="Material.Drawable.Ripple.Wave.Light">
    <item name="android:background">@null</item>
    <item name="rd_rippleColor">#20F15A2B</item>
</style>

Почему на предварительном леденце нет ряби?

Многое из того, что позволяет RippleDrawable работать без сбоев, - это новый Android 5.0 RenderThread. Чтобы оптимизировать производительность на предыдущих версиях Android, мы пока оставили RippleDrawable.

http://android-developers.blogspot.com.uy/2014/10/appcompat-v21-material-design-for-pre.html

Если вы хотите предварительно леденец на палочке, вы должны использовать библиотеку, как:

https://github.com/balysv/material-ripple

https://github.com/traex/RippleEffect

Другие библиотеки: https://android-arsenal.com/tag/167

Для>= 21 API вам нужно только установить в макете:

android:background="?android:attr/selectableItemBackground"
Другие вопросы по тегам