code: 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;
          }
      }
docs: 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