An Android Dialog Lib simplify customization. Supprot 2.2+.
- [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)
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 |
Popup | Description | ScreenShot | gif |
---|---|---|---|
BubblePopup | BubblePopup | gif |
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
- 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;
}
}
- 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() {
}
}
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'
}
Eclipse Developers should include jars below into your project.