Android material 风格和 ios 风格的 dialog,可传入 context 构建,在任意地方弹出,一行代码调用
2016-09-21 11:48
441 查看
DialogUtils
项目地址:DialogUtils![](http://p.codekk.com/images/icon/ic_favorite_white.png)
简介:material 风格和 ios 风格的 dialog,可传入 context 构建,在任意地方弹出,一行代码调用
material 风格,ios 风格,传入 context 构建,可在任意界面弹出,以及 dialog 样式的 activity(todo)
特性
传入 context 和 activity 均可弹出 dialog样式包括常用的 ios 风格 dialog 和 meterial design 风格的 dialog.
考虑了显示内容超多时的滑动和与屏幕的间隙.
示例图
![](https://raw.githubusercontent.com/glassLake/DialogUtils/master/normaldialog.png)
![](https://raw.githubusercontent.com/glassLake/DialogUtils/master/material.png)
![](https://raw.githubusercontent.com/glassLake/DialogUtils/master/ios_alert.png)
![](https://raw.githubusercontent.com/glassLake/DialogUtils/master/ios_vertical.png)
![](https://raw.githubusercontent.com/glassLake/DialogUtils/master/ios_bottom_sheet.png)
useage
gradle
Step 1. Add the JitPack repository to your build fileAdd it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
Step 2. Add the dependency
dependencies { compile 'com.github.glassLake:DialogUtils:1.0.2' }
示例代码
//通过普通的 activity 弹出进度条(转圈圈) StytledDialog.showProgressDialog(this,msg,true,true); //通过 context 弹出进度条 gloablDialog= StytledDialog.showProgressDialog(getApplicationContext(),msg,true,true); //meterial design 样式的 alertdialog: StytledDialog.showMdAlert(this, "title", msg, "sure", "cancle", "think about", true, true, new MyDialogListener() { @Override public void onFirst(DialogInterface dialog) { showToast("onFirst"); } @Override public void onSecond(DialogInterface dialog) { showToast("onSecond"); } @Override public void onThird(DialogInterface dialog) { showToast("onThird"); } }); //ios 样式的提示框:( StytledDialog.showIosAlertVertical(...)为按钮竖直方向上排列的对话框) StytledDialog.showIosAlert(this, "title", msg, "sure", "cancle", "think about", true, true, new MyDialogListener() { @Override public void onFirst(DialogInterface dialog) { showToast("onFirst"); } @Override public void onSecond(DialogInterface dialog) { showToast("onSecond"); } @Override public void onThird(DialogInterface dialog) { showToast("onThird"); } }); //底部弹出的带或不带取消按钮的弹窗 final List<String> strings = new ArrayList<>(); strings.add("1"); strings.add("2"); strings.add(msg); StytledDialog.showBottomItemDialog(activity, strings, "cancle", true, true, new MyItemDialogListener() { @Override public void onItemClick(String text,int position) { showToast(text); } @Override public void onBottomBtnClick() { showToast("onItemClick"); } });} //中间弹出的条目弹窗 final List<String> strings = new ArrayList<>(); strings.add("1"); strings.add("2"); strings.add(msg); StytledDialog.showIosSingleChoose(activity, strings, true, true, new MyItemDialogListener() { @Override public void onItemClick(String text,int position) { showToast(text); } @Override public void onBottomBtnClick() { showToast("onItemClick"); } });
context 弹出 dialog 注意事项
弹出后对后退键的响应需要自己写代码:Dialog gloablDialog;//用一个统一的变量名存引用 @Override public void onBackPressed() { if (gloablDialog != null && gloablDialog .isShowing()){ gloablDialog.dismiss(); }else { super.onBackPressed(); } }
相关文章推荐
- DialogUtils(material风格,ios风格,传入context构建,在任意界面弹出,以及dialog样式的activity)
- material 风格和 ios 风格,可传入 context 构建,可在任意界面弹出,包含了 loading,alert,单选和多选对话框,输入对话框,actionSheet 和 bottomShe
- (转)android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源--IOS_Dialog_Library
- (转)android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源--IOS_Dialog_Library
- android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library
- Android开发:利用Activity的Dialog风格完成弹出框设计
- android 模仿ios 由下而上的弹出对话框 dialog
- [Android] Material 风格的 Dialog 的使用
- Android开篇之高仿ios风格的自定义Dialog
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- Android获取Context(任意位置任意地方,全局上下文)
- android 模仿ios 由下而上的弹出对话框 dialog
- Android自定义Dialogの仿ios系统底部菜单(自下而上弹出)
- iOS一行代码调用手机系统震动
- 关于android中两次返回键退出客户端与弹出dialog方式退出客户端代码
- Android使用Dialog风格弹出框的Activity
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
- IOS 与 Android WebView 中 JS 调用原生代码
- Android自定义iOS风格Dialog