H07000223 / FlycoDialog_Master

An Android Dialog Lib simplify customization.
MIT License
2.27k stars 528 forks source link

FlycoDialog-Master

Android Arsenal

中文版

An Android Dialog Lib simplify customization. Supprot 2.2+.

Features

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