2

Мне нужен эффект пульсации для кнопок. В настоящее время я использую рябь фона для кнопок в ледяных и восходящих устройствах с помощью xml в каталоге v21, и он работает нормально, но мне также нужен эффект пульсации для устройств с предварительным леоптипом.Кнопка Android Ripple с изогнутым фоном для устройств Pre-Lollipop

Вот мои кнопки. [Button 1][1]

Я использовал некоторые пользовательские библиотеки для получения эффекта пульсации для устройств с предварительным леоптипом. Например, я использовал библиотеку com.balysv:material-ripple:1.0.2, следуя how to create ripple effect for pre-lollipop. Там они используют this library, который использует настраиваемое представление для обертывания кнопки.

Так что, когда я использую это для моих изогнутых форм кнопок в предварительно леденце, то результат был бы, как это ...

enter image description here

Как вы можете видеть, пульсирующий эффект выходит сторону . Есть ли способ разрешить это?

Кроме того, есть ли способ получить эффект пульсации, используя библиотеки поддержки по умолчанию для Android, вместо использования пользовательских сторонних библиотек для pre lollipop устройств?

+1

нет библиотеки поддержки не обеспечивает пульсации рисуют на устройствах до леденцов - вы должны использовать третьи партии из них – pskink

+0

[попробовать это] (http://michaelevans.org/blog/2015/05/07/android-ripples- с закругленными углами /) – shadygoneinsane

+0

спасибо @shadygoneinsane. Эффект пульсации отлично работает с границами в леденец и вверх. Но мы не можем использовать пульсацию для устройств с предварительным леденец, поскольку эффект пульсации пришелся на дизайн материалов в Lollipop. Поэтому я хотел бы получить эффект пульсации с закругленными кнопками формы для предварительно леденцов. –

ответ

0

Нет. У вас нет возможности для пульсации на pre-lollipop с использованием библиотеки поддержки. Вы можете использовать библиотеку this - прост в использовании. Выполните проверку на ОС, а затем выполните пульсацию, если вам нужно это сделать.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    // set layout background as ripple_drawable 
} else { 
    // Implement the 3rd party library 
} 
+0

Спасибо @Debdeep. Даже эта проблема не устраняет мою проблему. Эффект пульсации работает в прямоугольнике. Не внутри нашей индивидуальной формы. –

+0

Что вы можете сделать, так это получить выбранный фон, в котором вы можете менять цвета. Для этого вы можете сохранить свой вид внутри «CardView» и использовать «android: foreground =»? Android: attr/selectableItemBackground « android: clickable =« true »' на 'CardView' – Debdeep

+0

Для просмотра других видов последние несколько строк в комментарии [здесь] (http://stackoverflow.com/a/33085033/5685358). Это может помочь. – Debdeep

Смежные вопросы