package cn.flightfeather.thirdapp.util; import android.animation.Animator; import android.content.Context; import android.support.annotation.IdRes; import android.support.annotation.LayoutRes; import android.view.View; import android.view.animation.Animation; import cn.flightfeather.thirdapp.R; import razerdp.basepopup.BasePopupWindow; public class PopupGenerator extends BasePopupWindow { private int layoutId; public PopupGenerator(Context context, @LayoutRes int layoutId) { super(context, true); this.layoutId = layoutId; delayInit(); } /** *

* 返回一个contentView以作为PopupWindow的contentView *

*
* 强烈建议使用{@link BasePopupWindow#createPopupById(int)},该方法支持读取View的xml布局参数,否则可能会出现与布局不一样的展示从而必须手动传入宽高等参数 */ @Override public View onCreateContentView() { return createPopupById(layoutId); } /** *

* 该方法决定您的PopupWindow将会以怎样的动画展示出来,可以返回为 {@code null} *

*

* 本类提供一些简单的动画方法: *

*

* 如果需要用到属性动画,请覆写{@link #onCreateShowAnimator()} * * @return 返回显示PopupWindow的动画 */ @Override protected Animation onCreateShowAnimation() { return super.onCreateShowAnimation(); } /** *

* 该方法决定您的PopupWindow将会以怎样的动画展示出来(返回 {@link Animator}),可以返回为 {@code null} *
*
* 功能详情请看{@link #onCreateShowAnimation()} *

* * @return 返回显示PopupWindow的动画 */ @Override protected Animator onCreateShowAnimator() { return super.onCreateShowAnimator(); } }