自定义AlertDialog,模仿Ios弹出框
来源:互联网 发布:windows linux 编辑:程序博客网 时间:2024/05/21 07:02
这个是看了网上很多例子后,自己优化改进写出来的例子。用法和安卓原生的显示,可以由用户自行组合出自己想要的弹出框,不会高度定制限定死各种弹出框的UI,每个部件都是独立的,如标题,内容,左按钮,右按钮,底部一个按钮,list等。
下面是界面:
贴上关键代码,MainActivity:
public void onClick(View v) { switch (v.getId()) { case R.id.activity_setting_textview_updata: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setTitle("温馨提示").setMsg("发现新版本,建议立即更新使用").setPositiveButton("立即更新", new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "正在下载更新…", Toast.LENGTH_SHORT).show(); } }).setNegativeButton("下次再说", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case R.id.activity_setting_textview_getmsg: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setTitle("是否同步消息?").setPositiveButton("确定", new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "正在同步消息…", Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case R.id.activity_setting_textview_loginout: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setMsg("是否退出登录?").setPositiveButton("确定", new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "退出登录", Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case R.id.activity_setting_textview_select_panel: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setAlertDialogSize(1).setSelsctPanel(R.mipmap.ic_launcher, R.mipmap.ic_launcher, "左面板", "右面板").setLeftPanelOnClick(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "左面板", Toast.LENGTH_SHORT).show(); } }).setRightPanelOnClick(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "右面板", Toast.LENGTH_SHORT).show(); } }).show(); break; case R.id.activity_setting_textview_list: //这里的setAlertDialogSize(0.95),不要设置为1否知因外面的布局导致弹出的AlertDialogde 右边出错没有了圆角的背景,原因估计跟andoird画图有些关系吧,具体不明。 new AlertIosDialog(this).builder(R.style.ActionListDialogStyle).setAlertDialogSize(0.95).setTitle("选择操作").setCancleOnTouchOutside(false).addListItems("条目一", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目二", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目三", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目四", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目五", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目六", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目七", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目八", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目九", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目十", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).setCanaleBtnClickListener("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case R.id.activity_setting_textview_towbtn: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setAlertDialogSize(0.5).addListItems("复制", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "复制" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("删除", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "删除" + which, Toast.LENGTH_SHORT).show(); } }).show(); break; case R.id.activity_setting_textview_countdown: new AlertIosDialog(this).builder(R.style.AlertDialogStyle).setAlertDialogSize(0.5).setTitle("倒数面板").setCountDown(5, "秒后自动跳转页面", new OnTimeAlertViewClickListener() { @Override public void confirm() { Toast.makeText(getApplicationContext(), "删除成功", Toast.LENGTH_SHORT).show(); } }).setPositiveButton("手动跳转", new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "跳转成功!", Toast.LENGTH_SHORT).show(); } }).setCancleOnTouchOutside(false).show(); break; case R.id.activity_setting_textview_bottom: new AlertIosDialog(this).builder(R.style.ActionListDialogStyle).setAlertDialogSize(0.95).setCancleOnTouchOutside(false).addListItems("条目一", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).addListItems("条目二", ListItemsColor.Blue, new OnListItemsClickListener() { @Override public void onClick(int which) { Toast.makeText(getApplicationContext(), "item" + which, Toast.LENGTH_SHORT).show(); } }).setCanaleBtnClickListener("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; }
代码下载
0 0
- 自定义AlertDialog,模仿Ios弹出框
- 自定义弹出AlertDialog弹出框
- android 自定义弹出框AlertDialog
- android 自定义弹出框AlertDialog
- Android自定义弹出框AlertDialog
- Android使用自定义弹出框AlertDialog
- 安卓自定义AlertDialog弹出框
- 自定义弹出窗口AlertDialog
- AlertDialog自定义弹出对话框
- IOS自定义弹出框
- iOS自定义弹出框
- android 自定义弹出框AlertDialog ,很炫的哦
- android 自定义弹出框AlertDialog ,很炫的哦
- android alertdialog 弹出框
- AlertDialog弹出框
- AlertDialog弹出框android
- IOS Swift 弹出框的写法(就是Android的AlertDialog)
- IOS 自定义地图弹出框
- 汉诺塔
- Android Animation实现元素在屏幕上按照指定轨迹运动,以及出现NullPointerException的解决方案
- ifram自适应高度 网上其它都没啥用,关键还是看最后那个定时查找的
- The Difference between onCreateView and onViewCreated in Fragment
- linxu 端口转发
- 自定义AlertDialog,模仿Ios弹出框
- 如何创建上下文菜单
- 基本的线程机制(三)
- Android 设置Activity窗体 不显示标题和全屏显示
- TCP协议中的三次握手和四次挥手(图解)
- 属性字符串NSAttributedString简易教程
- Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
- Netty框架初探
- Linux(Ubuntu)定时提醒/执行任务