Android開発で、時に、ImageViewやTextViewなどの、押すことを考えられていない部品1に、押した時の処理を記述する(setOnClickListenerする)事があるかと思われます。
しかし、そのような時、Buttonなどと違って、押したことがユーザーにフィードバックされないため、押した時の視覚的な反応を自分で実装する必要があります。
ところで、Android Lollipop(5.0)からのMaterialテーマではボタンなどを押したときに波紋が広がるようになりましたね。とってもカッコいいです。
これをRippleというらしいです。
せっかくなら、Android5.0未満、つまりAPIレベル21未満では普通に、
それ以上ではRippleエフェクトがかかるように実装したい。
私がそこでハマったので、その方法を記録しておきます。
ちなみに何をするのかというと、効果をつけたいViewの上にImageViewを置き、そのImageViewのsrcとして波紋のDrawableを設定します。
Javaは一切書きません。
1: Widget、View、ViewGroup、Layoutなどの名称の関係が良く分からないのでまとめて部品と呼ぶことにします