Подтвердить что ты не робот

Как установить эффект пульсации на textview или изображение на Android?

Я хочу установить эффект пульсации на textview и imageview в Android Studio. Как я могу это сделать?

4b9b3361

Ответ 2

Если вы хотите, чтобы рябь была ограничена размером TextView/ImageView, используйте:

<TextView
android:background="?attr/selectableItemBackground"
android:clickable="true"/>

(я думаю, он выглядит лучше)

Ответ 3

Вы можете использовать android-ripple-background

Эффект начала

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();

Ответ 4

<TextView
            android:id="@+id/txt_banner"
            android:layout_width="match_parent"
            android:text="@string/banner"
            android:gravity="center|left"
            android:layout_below="@+id/title"
            android:background="@drawable/ripple_effect"
            android:paddingLeft="15dp"
            android:textSize="15sp"
            android:layout_height="45dp" />

добавить это в удобочитаемый

<?xml version="1.0" encoding="utf-8"?>
<!--this ribble animation only working for >= android version 21-->
<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/click_efect" />

попробуйте это.

Ответ 5

Или вы можете попробовать использовать эту библиотеку (android 9+): RippleEffect

Интеграция

dependencies {
    compile 'com.github.traex.rippleeffect:library:1.3'
}

Применение:

<com.andexert.library.RippleView
  android:id="@+id/more"
  android:layout_width="?android:actionBarSize"
  android:layout_height="?android:actionBarSize"
  android:layout_toLeftOf="@+id/more2"
  android:layout_margin="5dp"
  rv_centered="true">

  <ImageView
    android:layout_width="?android:actionBarSize"
    android:layout_height="?android:actionBarSize"
    android:src="@android:drawable/ic_menu_edit"
    android:layout_centerInParent="true"
    android:padding="10dp"
    android:background="@android:color/holo_blue_dark"/>

</com.andexert.library.RippleView>

Ответ 7

В дополнение к @Bikesh M Annur ответьте, обязательно обновите свои библиотеки поддержки. Раньше я использовал 23.1.1, и ничего не происходило. Обновление его до 23.3.0 сделало трюк.

Ответ 8

В случае хорошо проголосовавшего решения, отправленного @Bikesh M Annur (здесь), вам не подходит, попробуйте использовать:

<TextView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />

<ImageView
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:clickable="true" />

Кроме того, при использовании android:clickable="true" добавьте android:focusable="true", потому что:

"Виджет, объявленный кликабельным, но не объявляемый для фокусировки, недоступен с клавиатуры."