Как установить эффект пульсации на textview или изображение на Android?
Я хочу установить эффект пульсации на textview и imageview в Android Studio. Как мне это сделать?
- Ошибка раздувания classа android.support.v7.widget.Toolbar?
- Как реализовать бесконечный список с помощью RecyclerView?
- прозрачная панель действий с AppCompat-v7 21
- Как добавить библиотеки поддержки Android v7 в eclipse?
- Как сделать новый эффект параллакса PlayStore
- Циркуляр показывает переход для новой активности
Если вы хотите, чтобы рябь была ограничена размером TextView / ImageView, используйте:
(Я думаю, это выглядит лучше)
Вы можете использовать андроид-рябь-фон
Эффект запуска
final RippleBackground rippleBackground=(RippleBackground)findViewById(R.id.content); ImageView imageView=(ImageView)findViewById(R.id.centerImage); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { rippleBackground.startRippleAnimation(); } });
Остановка анимации:
rippleBackground.stopRippleAnimation();
добавьте это в drawable
попробуй это.
В случае хорошо проголосовавшего решения, отправленного @Bikesh M Annur ( здесь ), не сработает, попробуйте использовать:
Кроме того, при использовании android:clickable="true"
добавить android:focusable="true"
потому что:
« Виджет, объявленный кликабельным, но не объявляемым для фокусировки, недоступен с клавиатуры ».
дополнение к вышеуказанным ответам добавляет возможность фокусировки, чтобы избежать предупреждения редактора пользовательского интерфейса
android:background="?attr/selectableItemBackgroundBorderless" android:clickable="true" android:focusable="true"
Или вы можете попробовать использовать эту библиотеку (android 9+): RippleEffect
интеграция
dependencies { compile 'com.github.traex.rippleeffect:library:1.3' }
Применение:
В дополнение к ответу @Bikesh M Annur, обязательно обновите свои библиотеки поддержки. Раньше я использовал 23.1.1, и ничего не происходило. Обновление его до 23.3.0 сделало трюк.
попробуй это. Это сработало для меня.
android:clickable="true" android:focusable="true" android:background="?android:attr/selectableItemBackground"
См. Ниже ответ для эффекта пульсации.
пульсация в текстовом режиме или в представлении:
android:clickable="true" android:focusable="true" android:foreground="?android:attr/selectableItemBackgroundBorderless"
пульсация кнопки или изображения:
android:foreground="?android:attr/selectableItemBackgroundBorderless"
Лучший способ – использовать библиотеки. Это один из них. Просто добавьте его зависимость и поставьте ниже код в xml перед каждым элементом, который нуждается в эффекте пульсации: