@Override
    protected synchronized void onDraw(Canvas canvas) {

        final TouchEffectDrawable d = mTouchDrawable;
        if (d != null) {
            d.draw(canvas);
        }

        super.onDraw(canvas);
    }
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/Button.java