public void setTouchDrawable(TouchEffectDrawable touchDrawable) {
        if (mTouchDrawable != touchDrawable) {
            if (mTouchDrawable != null) {
                mTouchDrawable.setCallback(null);
            }
            if (touchDrawable != null) {
                touchDrawable.setCallback(this);
                // We must set layer type is View.LAYER_TYPE_SOFTWARE,
                // to support Canvas.clipPath()
                // on Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
                if (getLayerType() != View.LAYER_TYPE_SOFTWARE)
                    setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            }
            mTouchDrawable = touchDrawable;
        }
    }
In this, you can set TouchEffectDrawable,
to init TouchEffectDrawable.
<p>
If you not need touch effect,
you should set NULL.
<p>
But, if need it,
you should call {@link TouchEffectDrawable#setEffect(Effect)}

@param touchDrawable TouchEffectDrawable
caprice/ui/src/main/java/net/qiujuer/genius/ui/widget/ImageView.java