FlycoDialog-Master

April 27, 2017 · View on GitHub

Android Arsenal

中文版

An Android Dialog Lib simplify customization. Supprot 2.2+.

Features

  • [Built-in Dialog, convenient to use](#Built-in Dialog)
  • [Abundant Built-in Animations, convenient to use](#Abundant Built-in Animations)
  • [Qucik Customize Dialog](#Qucik Customize Dialog)
  • [Qucik Customize Popup](#Qucik Customize Popup)
  • [Support Customize Dialog Animation](#Customize Dialog Animation)

DemoApk Download

Built-in Dialog

DialogDescriptionScreenShotgif
NormalDialogDefault(Two Btns)gif
NormalDialogStyle Twogif
NormalDialogCustom Attrgif
NormalDialogOne Btngif
NormalDialogThree Btnsgif
MaterialDialogDefault(Two Btns)gif
MaterialDialogOne Btngif
MaterialDialogThree Btnsgif
NormalListDialogDefaultgif
NormalListDialogCustom Attrgif
NormalListDialogNo Titlegif
ActionSheetDialogDefaultgif
ActionSheetDialogNo Titlegif

Built-in Popup

PopupDescriptionScreenShotgif
BubblePopupBubblePopupgif

Change Log

v1.3.0(2015-05-21)

  • remove the dependence of NineOldAnimation(only support 3.0+)

v1.2.6(2015-01-07)

  • Combine FlycoAnimation_Lib into FlycoDialog_Lib
  • Fix bug for View in Popup click no response
  • Improve the function of BaseBubblePopup

v1.2.2(2015-12-20)

  • BasePopup small bug fix

v1.2.0(2015-12-19)

  • new added base widget - BasePopup
  • new added built-in widget - BubblePopup
  • BaseDialog support auto dimiss in given delay

Qucik Customize Dialog

  • step1:extends BaseDialog(or BottomBaseDialog or TopBaseDialog)
  • step2:inflate layout and find views in onCreateView method
  • step3:do logic operation in setUiBeforShow method
public class CustomBaseDialog extends BaseDialog<CustomBaseDialog> {
    private TextView tv_cancel;
    private TextView tv_exit;

    public CustomBaseDialog(Context context) {
        super(context);
    }

    @Override
    public View onCreateView() {
        widthScale(0.85f);
        showAnim(new Swing());

        // dismissAnim(this, new ZoomOutExit());
        View inflate = View.inflate(context, R.layout.dialog_custom_base, null);
        tv_cancel = ViewFindUtils.find(inflate, R.id.tv_cancel);
        tv_exit = ViewFindUtils.find(inflate, R.id.tv_exit);
        inflate.setBackgroundDrawable(
                CornerUtils.cornerDrawable(Color.parseColor("#ffffff"), dp2px(5)));

        return inflate;
    }

    @Override
    public boolean setUiBeforShow() {
        tv_cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

        tv_exit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

        return false;
    }
}

Qucik Customize Popup

  • step1:extends BasePopup
  • step2:inflate layout and find views in onCreatePopupView method
  • step3:do logic operation in setUiBeforShow method
public class SimpleCustomPop extends BasePopup<SimpleCustomPop> {
        public SimpleCustomPop(Context context) {
            super(context);
        }

        @Override
        public View onCreatePopupView() {
            return View.inflate(mContext, R.layout.popup_custom, null);
        }

        @Override
        public void setUiBeforShow() {

        }
    }

Gradle

dependencies{
     compile 'com.flyco.dialog:FlycoDialog_Lib:1.2.2@aar'
     compile 'com.flyco.animation:FlycoAnimation_Lib:1.0.0@aar'
     compile 'com.nineoldandroids:library:2.4.0'
}

After v1.2.6
dependencies{
     compile 'com.flyco.dialog:FlycoDialog_Lib:1.2.8@aar'
     compile 'com.nineoldandroids:library:2.4.0'
}

After v1.3.0
dependencies{
     compile 'com.flyco.dialog:FlycoDialog_Lib:1.3.2@aar'
}

Eclispe(no update)

Eclipse Developers should include jars below into your project.

Thanks