FlycoDialog 可直接用的三方Dialog

本文介绍了FlycoDialog库的各种对话框使用方法,包括NormalDialog、MaterialDialog和ListDialog等不同风格及自定义属性的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码都是封装好了的,直接new出来用,如果觉得想自定义样式的话,可以仿着源代码写自己的样式。

地址:https://github.com/H07000223/FlycoDialog_Master

Gradle:

After v1.2.6
dependencies{
     compile 'com.flyco.dialog:FlycoDialog_Lib:1.2.6@aar'
     compile 'com.nineoldandroids:library:2.4.0'
}
详细下载Demo,里面还有pupop。
下面贴出dialog的源码:

NormalDialog默认(两个按钮)

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalDialogStyleOne() {  
  2.     final NormalDialog dialog = new NormalDialog(mContext);  
  3.     dialog.content("是否确定退出程序?")//  
  4.             .showAnim(mBasIn)//  
  5.             .dismissAnim(mBasOut)//  
  6.             .show();  
  7.   
  8.     dialog.setOnBtnClickL(  
  9.             new OnBtnClickL() {  
  10.                 @Override  
  11.                 public void onBtnClick() {  
  12.                     T.showShort(mContext, "left");  
  13.                     dialog.dismiss();  
  14.                 }  
  15.             },  
  16.             new OnBtnClickL() {  
  17.                 @Override  
  18.                 public void onBtnClick() {  
  19.                     T.showShort(mContext, "right");  
  20.                     dialog.dismiss();  
  21.                 }  
  22.             });  
  23. }  

NormalDialog第二种风格
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalDialogStyleTwo() {  
  2.     final NormalDialog dialog = new NormalDialog(mContext);  
  3.     dialog.content("为保证咖啡豆的新鲜度和咖啡的香味,并配以特有的传统烘焙和手工冲。")//  
  4.             .style(NormalDialog.STYLE_TWO)//  
  5.             .titleTextSize(23)//  
  6.             .showAnim(mBasIn)//  
  7.             .dismissAnim(mBasOut)//  
  8.             .show();  
  9.   
  10.     dialog.setOnBtnClickL(  
  11.             new OnBtnClickL() {  
  12.                 @Override  
  13.                 public void onBtnClick() {  
  14.                     T.showShort(mContext, "left");  
  15.                     dialog.dismiss();  
  16.                 }  
  17.             },  
  18.             new OnBtnClickL() {  
  19.                 @Override  
  20.                 public void onBtnClick() {  
  21.                     T.showShort(mContext, "right");  
  22.                     dialog.dismiss();  
  23.                 }  
  24.             });  
  25. }  

NormalDialog自定义属性
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalDialogCustomAttr() {  
  2.     final NormalDialog dialog = new NormalDialog(mContext);  
  3.     dialog.isTitleShow(false)//  
  4.             .bgColor(Color.parseColor("#383838"))//  
  5.             .cornerRadius(5)//  
  6.             .content("是否确定退出程序?")//  
  7.             .contentGravity(Gravity.CENTER)//  
  8.             .contentTextColor(Color.parseColor("#ffffff"))//  
  9.             .dividerColor(Color.parseColor("#222222"))//  
  10.             .btnTextSize(15.5f, 15.5f)//  
  11.             .btnTextColor(Color.parseColor("#ffffff"), Color.parseColor("#ffffff"))//  
  12.             .btnPressColor(Color.parseColor("#2B2B2B"))//  
  13.             .widthScale(0.85f)//  
  14.             .showAnim(mBasIn)//  
  15.             .dismissAnim(mBasOut)//  
  16.             .show();  
  17.     dialog.setOnBtnClickL(  
  18.             new OnBtnClickL() {  
  19.                 @Override  
  20.                 public void onBtnClick() {  
  21.                     T.showShort(mContext, "left");  
  22.                     dialog.dismiss();  
  23.                 }  
  24.             },  
  25.             new OnBtnClickL() {  
  26.                 @Override  
  27.                 public void onBtnClick() {  
  28.                     T.showShort(mContext, "right");  
  29.                     dialog.dismiss();  
  30.                 }  
  31.             });  
  32. }  

NormalDialog一个按钮
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalDialogOneBtn() {  
  2.     final NormalDialog dialog = new NormalDialog(mContext);  
  3.     dialog.content("你今天的抢购名额已用完~")//  
  4.             .btnNum(1)  
  5.             .btnText("继续逛逛")//  
  6.             .showAnim(mBasIn)//  
  7.             .dismissAnim(mBasOut)//  
  8.             .show();  
  9.   
  10.     dialog.setOnBtnClickL(new OnBtnClickL() {  
  11.         @Override  
  12.         public void onBtnClick() {  
  13.             T.showShort(mContext, "middle");  
  14.             dialog.dismiss();  
  15.         }  
  16.     });  
  17. }  

NormalDialog三个按钮
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalDialoThreeBtn() {  
  2.     final NormalDialog dialog = new NormalDialog(mContext);  
  3.     dialog.content("你今天的抢购名额已用完~")//  
  4.             .style(NormalDialog.STYLE_TWO)//  
  5.             .btnNum(3)  
  6.             .btnText("取消""确定""继续逛逛")//  
  7.             .showAnim(mBasIn)//  
  8.             .dismissAnim(mBasOut)//  
  9.             .show();  
  10.   
  11.     dialog.setOnBtnClickL(  
  12.             new OnBtnClickL() {  
  13.                 @Override  
  14.                 public void onBtnClick() {  
  15.                     T.showShort(mContext, "left");  
  16.                     dialog.dismiss();  
  17.                 }  
  18.             },  
  19.             new OnBtnClickL() {  
  20.                 @Override  
  21.                 public void onBtnClick() {  
  22.                     T.showShort(mContext, "right");  
  23.                     dialog.dismiss();  
  24.                 }  
  25.             },  
  26.             new OnBtnClickL() {  
  27.                 @Override  
  28.                 public void onBtnClick() {  
  29.                     T.showShort(mContext, "middle");  
  30.                     dialog.dismiss();  
  31.                 }  
  32.             });  
  33. }  

MaterialDialog默认(两个按钮)
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void MaterialDialogDefault() {  
  2.     final MaterialDialog dialog = new MaterialDialog(mContext);  
  3.     dialog.content(  
  4.             "嗨!这是一个 MaterialDialogDefault. 它非常方便使用,你只需将它实例化,这个美观的对话框便会自动地显示出来。"  
  5.                     + "它简洁小巧,完全遵照 Google 2014 年发布的 Material Design 风格,希望你能喜欢它!^ ^")//  
  6.             .btnText("取消""确定")//  
  7.             .showAnim(mBasIn)//  
  8.             .dismissAnim(mBasOut)//  
  9.             .show();  
  10.   
  11.     dialog.setOnBtnClickL(  
  12.             new OnBtnClickL() {//left btn click listener  
  13.                 @Override  
  14.                 public void onBtnClick() {  
  15.                     T.showShort(mContext, "left");  
  16.                     dialog.dismiss();  
  17.                 }  
  18.             },  
  19.             new OnBtnClickL() {//right btn click listener  
  20.                 @Override  
  21.                 public void onBtnClick() {  
  22.                     T.showShort(mContext, "right");  
  23.                     dialog.dismiss();  
  24.                 }  
  25.             }  
  26.     );  
  27. }  


MaterialDialog一个按钮
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void MaterialDialogThreeBtns() {  
  2.     final MaterialDialog dialog = new MaterialDialog(mContext);  
  3.     dialog.isTitleShow(false)//  
  4.             .btnNum(3)  
  5.             .content("为保证咖啡豆的新鲜度和咖啡的香味,并配以特有的传统烘焙和手工冲。")//  
  6.             .btnText("确定""取消""知道了")//  
  7.             .showAnim(mBasIn)//  
  8.             .dismissAnim(mBasOut)//  
  9.             .show();  
  10.   
  11.     dialog.setOnBtnClickL(  
  12.             new OnBtnClickL() {//left btn click listener  
  13.                 @Override  
  14.                 public void onBtnClick() {  
  15.                     T.showShort(mContext, "left");  
  16.                     dialog.dismiss();  
  17.                 }  
  18.             },  
  19.             new OnBtnClickL() {//right btn click listener  
  20.                 @Override  
  21.                 public void onBtnClick() {  
  22.                     T.showShort(mContext, "right");  
  23.                     dialog.dismiss();  
  24.                 }  
  25.             }  
  26.             ,  
  27.             new OnBtnClickL() {//middle btn click listener  
  28.                 @Override  
  29.                 public void onBtnClick() {  
  30.                     T.showShort(mContext, "middle");  
  31.                     dialog.dismiss();  
  32.                 }  
  33.             }  
  34.     );  
  35. }  

MaterialDialog三个按钮
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void MaterialDialogOneBtn() {  
  2.     final MaterialDialog dialog = new MaterialDialog(mContext);  
  3.     dialog.btnNum(1)  
  4.             .content("为保证咖啡豆的新鲜度和咖啡的香味,并配以特有的传统烘焙和手工冲。")//  
  5.             .btnText("确定")//  
  6.             .showAnim(mBasIn)//  
  7.             .dismissAnim(mBasOut)//  
  8.             .show();  
  9.   
  10.     dialog.setOnBtnClickL(new OnBtnClickL() {  
  11.         @Override  
  12.         public void onBtnClick() {  
  13.             T.showShort(mContext, "middle");  
  14.             dialog.dismiss();  
  15.         }  
  16.     });  
  17. }  

NormalListDialog默认
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private ArrayList<DialogMenuItem> mMenuItems = new ArrayList<>();  
  2.     mMenuItems.add(new DialogMenuItem("收藏", R.mipmap.ic_winstyle_favor));  
  3.     mMenuItems.add(new DialogMenuItem("下载", R.mipmap.ic_winstyle_download));  
  4.     mMenuItems.add(new DialogMenuItem("分享", R.mipmap.ic_winstyle_share));  
  5.     mMenuItems.add(new DialogMenuItem("删除", R.mipmap.ic_winstyle_delete));  
  6.     mMenuItems.add(new DialogMenuItem("歌手", R.mipmap.ic_winstyle_artist));  
  7.     mMenuItems.add(new DialogMenuItem("专辑", R.mipmap.ic_winstyle_album));  


[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalListDialog() {  
  2.     final NormalListDialog dialog = new NormalListDialog(mContext, mMenuItems);  
  3.     dialog.title("请选择")//  
  4.             .showAnim(mBasIn)//  
  5.             .dismissAnim(mBasOut)//  
  6.             .show();  
  7.     dialog.setOnOperItemClickL(new OnOperItemClickL() {  
  8.         @Override  
  9.         public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {  
  10.             T.showShort(mContext, mMenuItems.get(position).mOperName);  
  11.             dialog.dismiss();  
  12.         }  
  13.     });  
  14. }  

NormalListDialog自定义属性
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalListDialogCustomAttr() {  
  2.     final NormalListDialog dialog = new NormalListDialog(mContext, mMenuItems);  
  3.     dialog.title("请选择")//  
  4.             .titleTextSize_SP(18)//  
  5.             .titleBgColor(Color.parseColor("#409ED7"))//  
  6.             .itemPressColor(Color.parseColor("#85D3EF"))//  
  7.             .itemTextColor(Color.parseColor("#303030"))//  
  8.             .itemTextSize(14)//  
  9.             .cornerRadius(0)//  
  10.             .widthScale(0.8f)//  
  11.             .show(R.style.myDialogAnim);  
  12.   
  13.     dialog.setOnOperItemClickL(new OnOperItemClickL() {  
  14.         @Override  
  15.         public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {  
  16.             T.showShort(mContext, mMenuItems.get(position).mOperName);  
  17.             dialog.dismiss();  
  18.         }  
  19.     });  
  20. }  


NormalListDialog无标题

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void NormalListDialogNoTitle() {  
  2.     final NormalListDialog dialog = new NormalListDialog(mContext, mMenuItems);  
  3.     dialog.title("请选择")//  
  4.             .isTitleShow(false)//  
  5.             .itemPressColor(Color.parseColor("#85D3EF"))//  
  6.             .itemTextColor(Color.parseColor("#303030"))//  
  7.             .itemTextSize(15)//  
  8.             .cornerRadius(2)//  
  9.             .widthScale(0.75f)//  
  10.             .show();  
  11.   
  12.     dialog.setOnOperItemClickL(new OnOperItemClickL() {  
  13.         @Override  
  14.         public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {  
  15.             T.showShort(mContext, mMenuItems.get(position).mOperName);  
  16.             dialog.dismiss();  
  17.         }  
  18.     });  
  19. }  

ActionSheetDialog默认

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void ActionSheetDialog() {  
  2.     final String[] stringItems = {"接收消息并提醒""接收消息但不提醒""收进群助手且不提醒""屏蔽群消息"};  
  3.     final ActionSheetDialog dialog = new ActionSheetDialog(mContext, stringItems, null);  
  4.     dialog.title("选择群消息提醒方式\r\n(该群在电脑的设置:接收消息并提醒)")//  
  5.             .titleTextSize_SP(14.5f)//  
  6.             .show();  
  7.   
  8.     dialog.setOnOperItemClickL(new OnOperItemClickL() {  
  9.         @Override  
  10.         public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {  
  11.             T.showShort(mContext, stringItems[position]);  
  12.             dialog.dismiss();  
  13.         }  
  14.     });  
  15. }  

ActionSheetDialog无标题
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. private void ActionSheetDialogNoTitle() {  
  2.     final String[] stringItems = {"版本更新""帮助与反馈""退出QQ"};  
  3.     final ActionSheetDialog dialog = new ActionSheetDialog(mContext, stringItems, mElv);  
  4.     dialog.isTitleShow(false).show();  
  5.   
  6.     dialog.setOnOperItemClickL(new OnOperItemClickL() {  
  7.         @Override  
  8.         public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {  
  9.             T.showShort(mContext, stringItems[position]);  
  10.             dialog.dismiss();  
  11.         }  
  12.     });  
  13. }  

相关功能控件:

 Android第三方开源对话消息提示框:百度搜索 SweetAlertDialog(sweet-alert-dialog)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值