// Path: library/src/main/java/com/wangjie/rapidfloatingactionbutton/listener/OnRapidFloatingActionListener.java
// public interface OnRapidFloatingActionListener {
//     /**
//      * RFAB被点击
//      */
//     void onRFABClick();
// 
//     /**
//      * RFAC内容被展开或者收缩
//      */
//     void toggleContent();
// 
//     /**
//      * RFAC内容被展开
//      */
//     void expandContent();
// 
//     /**
//      * RFAC内容被收缩
//      */
//     void collapseContent();
// 
//     /**
//      * 获取当前的RFAL对象
//      *
//      * @return
//      */
//     RapidFloatingActionLayout obtainRFALayout();
// 
//     /**
//      * 获取当前的RFAB对象
//      *
//      * @return
//      */
//     RapidFloatingActionButton obtainRFAButton();
// 
//     /**
//      * 获取当前的RFAC对象
//      *
//      * @return
//      */
//     RapidFloatingActionContent obtainRFAContent();
// 
//     /**
//      * RFAC内容被展开时需要自定义的额外动画
//      *
//      * @param animatorSet
//      */
//     void onExpandAnimator(AnimatorSet animatorSet);
// 
//     /**
//      * RFAC内容被收缩时需要自定义的额外动画
//      *
//      * @param animatorSet
//      */
//     void onCollapseAnimator(AnimatorSet animatorSet);
// 
// }


import android.animation.AnimatorSet;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import com.wangjie.rapidfloatingactionbutton.listener.OnRapidFloatingActionListener;
package com.wangjie.rapidfloatingactionbutton;



/**
 * Author: wangjie
 * Email: tiantian.china.2@gmail.com
 * Date: 4/29/15.
 */
public abstract class RapidFloatingActionContent extends FrameLayout {
    public RapidFloatingActionContent(Context context) {
        super(context);
        initInConstructor();
    }

    public RapidFloatingActionContent(Context context, AttributeSet attrs) {
        super(context, attrs);
        initInConstructor();
    }

    public RapidFloatingActionContent(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initInConstructor();
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public RapidFloatingActionContent(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        initInConstructor();
    }

    /**
     * 构造方法结束时回调
     */
    protected void initInConstructor() {

    }

    /**
     * 设置完毕setContentView后回调
     *
     * @param rootView
     */
    protected abstract void initialContentViews(View rootView);

    /**
     * 当构建了RFAH后回调
     */
    protected void initAfterRFABHelperBuild() {

    }

    protected OnRapidFloatingActionListener onRapidFloatingActionListener;

// Path: library/src/main/java/com/wangjie/rapidfloatingactionbutton/listener/OnRapidFloatingActionListener.java
// public interface OnRapidFloatingActionListener {
//     /**
//      * RFAB被点击
//      */
//     void onRFABClick();
// 
//     /**
//      * RFAC内容被展开或者收缩
//      */
//     void toggleContent();
// 
//     /**
//      * RFAC内容被展开
//      */
//     void expandContent();
// 
//     /**
//      * RFAC内容被收缩
//      */
//     void collapseContent();
// 
//     /**
//      * 获取当前的RFAL对象
//      *
//      * @return
//      */
//     RapidFloatingActionLayout obtainRFALayout();
// 
//     /**
//      * 获取当前的RFAB对象
//      *
//      * @return
//      */
//     RapidFloatingActionButton obtainRFAButton();
// 
//     /**
//      * 获取当前的RFAC对象
//      *
//      * @return
//      */
//     RapidFloatingActionContent obtainRFAContent();
// 
//     /**
//      * RFAC内容被展开时需要自定义的额外动画
//      *
//      * @param animatorSet
//      */
//     void onExpandAnimator(AnimatorSet animatorSet);
// 
//     /**
//      * RFAC内容被收缩时需要自定义的额外动画
//      *
//      * @param animatorSet
//      */
//     void onCollapseAnimator(AnimatorSet animatorSet);
// 
// }


// Path: library/src/main/java/com/wangjie/rapidfloatingactionbutton/RapidFloatingActionContent.java
import android.animation.AnimatorSet;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import com.wangjie.rapidfloatingactionbutton.listener.OnRapidFloatingActionListener;

package com.wangjie.rapidfloatingactionbutton;



/**
 * Author: wangjie
 * Email: tiantian.china.2@gmail.com
 * Date: 4/29/15.
 */
public abstract class RapidFloatingActionContent extends FrameLayout {
    public RapidFloatingActionContent(Context context) {
        super(context);
        initInConstructor();
    }

    public RapidFloatingActionContent(Context context, AttributeSet attrs) {
        super(context, attrs);
        initInConstructor();
    }

    public RapidFloatingActionContent(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initInConstructor();
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public RapidFloatingActionContent(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        initInConstructor();
    }

    /**
     * 构造方法结束时回调
     */
    protected void initInConstructor() {

    }

    /**
     * 设置完毕setContentView后回调
     *
     * @param rootView
     */
    protected abstract void initialContentViews(View rootView);

    /**
     * 当构建了RFAH后回调
     */
    protected void initAfterRFABHelperBuild() {

    }

    protected OnRapidFloatingActionListener onRapidFloatingActionListener;

    protected void setOnRapidFloatingActionListener(OnRapidFloatingActionListener onRapidFloatingActionListener) {