FilterImageView

這個很簡單,勿噴!

效果如下:
未觸摸之前 觸摸之後

代碼非常簡單,但是我相信不是每個人都知道這個小知識點:

package com.helper.view.imageview;

import android.content.Context;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ImageView;

/**
 * Created by deadline on 2015/8/17.
 * 當按下的時候會給ImageView添加一層蒙版
 */
public class FilterImageView extends ImageView {

    private int color;

    public FilterImageView(Context context) {
        this(context, null);
    }

    public FilterImageView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public FilterImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initFilterImageView();

    }

    private void initFilterImageView() {
        color = Color.GRAY;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                setColorFilter(color, PorterDuff.Mode.MULTIPLY);
                break;

            case MotionEvent.ACTION_UP:
                clearColorFilter();
                break;
        }
        return super.onTouchEvent(event);
    }


    public int getFilterColor() {
        return color;
    }

    public void setFilterColor(int color) {
        this.color = color;
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章