• Stars
    star
    2,275
  • Rank 20,247 (Top 0.4 %)
  • Language
    Java
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Android Dialog Lib simplify customization.

FlycoDialog-Master

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

Dialog Description ScreenShot gif
NormalDialog Default(Two Btns) gif
NormalDialog Style Two gif
NormalDialog Custom Attr gif
NormalDialog One Btn gif
NormalDialog Three Btns gif
MaterialDialog Default(Two Btns) gif
MaterialDialog One Btn gif
MaterialDialog Three Btns gif
NormalListDialog Default gif
NormalListDialog Custom Attr gif
NormalListDialog No Title gif
ActionSheetDialog Default gif
ActionSheetDialog No Title gif

Built-in Popup

Popup Description ScreenShot gif
BubblePopup BubblePopup gif

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