public void setBackgroundColor(ColorStateList colorStateList) {
        if (colorStateList != null && mBackgroundColor != colorStateList) {
            mBackgroundColor = colorStateList;
            setBackgroundColor(mBackgroundColor.getColorForState(getDrawableState(), mBackgroundColor.getDefaultColor()));
        }
    }
Set background by {@link ColorStateList}
The color will apply to {@link Drawable} ShapeDrawable

@param colorStateList ColorStateList
caprice/ui/src/main/java/net/qiujuer/genius/ui/widget/FloatActionButton.java