本文转载于:http://blog.csdn.net/zhangphil/article/details/44940339

完成这个效果的是使用了 IOS_Dialog_Library

下载地址:http://files.cnblogs.com/files/zzw1994/IOS_Dialog_Library.zip

或者:http://download.csdn.net/download/zhangphil/8573925

下载后导入到Eclipse中,然后作为Library引入到自己的工程中,直接作为第三方控件使用。

测试代码:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="消息" /> <Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="图片" /> <Button
android:id="@+id/btn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="列表" /> <Button
android:id="@+id/btn4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="退出" /> <Button
android:id="@+id/btn5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="错误提示" /> </LinearLayout>

activity_main.xml

MainActivity.java:

 package com.example.testiosdialog;

 import zhangphil.iosdialog.widget.ActionSheetDialog;
import zhangphil.iosdialog.widget.ActionSheetDialog.OnSheetItemClickListener;
import zhangphil.iosdialog.widget.ActionSheetDialog.SheetItemColor;
import zhangphil.iosdialog.widget.AlertDialog;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { private Button btn1, btn2, btn3, btn4, btn5; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
} private void initView() {
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
btn4 = (Button) findViewById(R.id.btn4);
btn5 = (Button) findViewById(R.id.btn5); btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
btn5.setOnClickListener(this);
} @Override
public void onClick(View v) {
//setCancelable 设置取消,setCanceledOnTouchOutside设置在外触碰取消
switch (v.getId()) {
case R.id.btn1:
new ActionSheetDialog(MainActivity.this)
.builder()
.setTitle("清空消息列表后,聊天记录依然保留,确定要清空消息列表?")
.setCancelable(true)
.setCanceledOnTouchOutside(true)
.addSheetItem("清空消息列表", SheetItemColor.Red
, new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
}).show();
break; case R.id.btn2:
new ActionSheetDialog(MainActivity.this)
.builder()
.setCancelable(true)
.setCanceledOnTouchOutside(true)
.addSheetItem("发送给好友",
SheetItemColor.Blue,
new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
})
.addSheetItem("转载到空间相册",
SheetItemColor.Blue,
new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
})
.addSheetItem("上传到群相册",
SheetItemColor.Blue,
new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
})
.addSheetItem("保存到手机",
SheetItemColor.Blue,
new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
}).show();
break;
case R.id.btn3:
new ActionSheetDialog(MainActivity.this)
.builder()
.setTitle("好友列表")
.setCancelable(true)
.setCanceledOnTouchOutside(true)
.addSheetItem("删除好友", SheetItemColor.Red
, new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
})
.addSheetItem("增加好友", SheetItemColor.Blue
, new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
})
.addSheetItem("备注", SheetItemColor.Blue
, new OnSheetItemClickListener() { @Override
public void onClick(int which) { }
}).show();
break;
//setNegativeButton相对setPositiveButton颜色要浅一些
case R.id.btn4:
new AlertDialog(MainActivity.this)
.builder()
.setTitle("退出当前帐号")
.setMsg("再连续登陆15天,就可变身为QQ达人。退出QQ可能会使你现有记录归零,确定退出?")
.setPositiveButton("确认退出", new OnClickListener() { @Override
public void onClick(View v) { }
})
.setNegativeButton("取消", new OnClickListener() { @Override
public void onClick(View v) { }
}).show();
break;
case R.id.btn5:
new AlertDialog(MainActivity.this)
.builder()
.setTitle("错误信息")
.setMsg("你的手机sd卡出现问题,建议删除不需要的文件,否则收不到图片和视频等打文件")
.setPositiveButton("确定", new OnClickListener() { @Override
public void onClick(View v) { }
}).show();
break;
}
}
}

(转)android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源--IOS_Dialog_Library的更多相关文章

  1. Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹

    Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹     unit Unit2; interface uses  Windows, Messages, SysUtils, V ...

  2. Android 底部弹出Dialog(横向满屏)

    项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog). 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay ...

  3. 转 android 从底部弹出一个popuwindow,渐入渐出效果。我这里是用在购物车需要选择购买选项的操作。

    最近要改客户端,需要实现一个从底部弹出的popuwindow,像我这种渣渣android技术,能整出popuwindow但是整不出动画,百度之,记录一下. 从下面这个地址转的 http://blog. ...

  4. Android Demo---实现从底部弹出窗口

    在前面的博文中,小编简单的介绍了如何制作圆角的按钮以及圆角的图片,伴着键盘和手指之间的舞步,迎来新的问题,不知道小伙伴有没有这样的经历,以App为例,点击头像的时候,会从底部弹出一个窗口,有从相册中选 ...

  5. Android BottomSheet:底部弹出Fragment面板(4)

     Android BottomSheet:底部弹出Fragment面板(4) BottomSheet不仅可以弹出轻量级的定制好的面板(见附录文章5,6,7),还可以弹出"重"的 ...

  6. AndroidSweetSheet:从底部弹出面板(1)

     AndroidSweetSheet:从底部弹出面板(1) AndroidSweetSheet又是一个从底部弹出面板的开源项目.我在以前写的文章中介绍了不少这些项目,见附录文章5,6,7,8.现在 ...

  7. [deviceone开发]-底部弹出选择

    一.简介 个人上传的第一个示例源码,两天空闲时间写的,一点简单组件,写的挺乱还没啥注释,仅供新手学习. 底部弹出选择,可滑动选择选项,如果停留在选项中间,可自动校正位置,加了一点简单的动画效果,需要的 ...

  8. 仿iOS底部弹出popUpWindow

    上面为弹出来的效果 popUpWindow布局: <?xml version="1.0" encoding="utf-8"?> <Linear ...

  9. Android屏幕底部弹出DialogFragment(3)

     Android屏幕底部弹出DialogFragment(3) 附录文章1,2的DialogFragment是常规的DialogFragment,但是现在的一些Android开发中,往往需要从底部 ...

随机推荐

  1. IOS 关于ipad iphone5s崩溃 解决

    之前 我这一直没有以上两款测试机  于是发布被退回了.说是这两款 开启动就崩. 这种情况下 解决办法只有一个,就是bug重现,不然,你根本无法确定再一次提交是否是安全的.所以我借了一台 iPad mi ...

  2. 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9394465 作者:七十一雾央 新浪微博:http:// ...

  3. nginx设置SSL反向代理

    Nginx的反向代理通常用来映射内网中提供的Apache.IIS.Lighttpd服务,以实现负载均衡:同时,由于动态服务程序运行在内网,服务器的整体安全性也有所提高,那么怎样用nginx设置SSL的 ...

  4. 获取JDK动态代理/CGLIB代理对象代理的目标对象。

    问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法 ...

  5. MVC4 Forms 验证,部署到Hyper-v上.FormsAuthentication.SetAuthCookie无效的问题

    这是IE10的一个bug或者说是asp.net4的一个Bug,在IE10里更改了http头,这样导致asp.net4认为客户端没有启用cookie,会导致验证失败.简单的解决方法是,在网站根目录,新增 ...

  6. 5059 一起去打CS

    5059 一起去打CS  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 早就和lyk约好了去 ...

  7. 关于在windows环境下配置xampp多站点问题

    前言 由于开发要求,最近开始了php开发,于是就找到了xampp,wamp等集成环境,关于在windows下的xampp和wamp的配置,我过两天在写两篇分别阐述一下,下面就遇到的多站点的配置问题讲一 ...

  8. LC.exe exited with code -1 报错

    vs项目运行是报LC.exe exited with code -1错误.现在什么鬼都能在度娘里面找到了. 删掉重新编译OK啦!

  9. CSS之侧边栏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. iOS - 使用音乐的背景播放功能,使用MediaPlayer框架播放影片(Swift)

    1. 使用音乐的背景播放功能 (1) 导入音频播放框架 import AVFoundation (2) 创建音频播放对象 //初始化音频播放器对象,并将音频播放对象,作为视图控制器类的属相. var ...