【Android】ImageViewをタッチしたらハイライトさせる


画像をタップすると拡大表示させたり、画像付きボタンを使ったりするシーンはよくあると思います。以下はその画像をタップ時にピカッとハイライトさせてあげる方法です。

ImageViewHighlighter.java

public class ImageViewHighlighter implements View.OnTouchListener {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                ((ImageView) v).setColorFilter(Color.argb(100, 255, 255, 255));
                break;
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_CANCEL:
                ((ImageView) v).setColorFilter(null);
                break;
        }
        return false;
    }
}

呼び出し側

imageView.setOnTouchListener(new ImageViewHighlighter());

ImageViewを継承しているImageButtonでも使用できます。

関連する記事


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください