《Android底部弹出iOS7风格对话选项框》

效果图如下:

Android底部弹出iOS7风格对话选项框_第1张图片

Android底部弹出iOS7风格对话选项框_第2张图片

Android底部弹出iOS7风格对话选项框_第3张图片

Android底部弹出iOS7风格对话选项框_第4张图片


网上流传的Android底部弹出iOS7风格的对话选项框开源代码,原作者不详。我在网上流传的代码基础上改进了一些地方,把原来作为Application发布的代码整理成一个Android的Library,如果在未来的Android项目中需要这样的对话选项框样式,则只需要下载我上次到CSDN的完整库项目(完整的Android库项目代码我已经上传到CSDN,下载地址:http://download.csdn.net/download/zhangphil/8573925),导入到Eclipse中,然后作为Library引入到自己的工程中,直接作为第三方控件使用。

作为代码演示,新建一个Android项目,使用在我提供的库项目。

比如在MainActivity中直接使用:

package zhangphil.iosdialog.demo;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;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private Button btn1;private Button btn2;private Button btn3;private Button btn4;private Button btn5;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {btn1 = (Button) findViewById(R.id.btn1);btn1.setOnClickListener(this);btn2 = (Button) findViewById(R.id.btn2);btn2.setOnClickListener(this);btn3 = (Button) findViewById(R.id.btn3);btn3.setOnClickListener(this);btn4 = (Button) findViewById(R.id.btn4);btn4.setOnClickListener(this);btn5 = (Button) findViewById(R.id.btn5);btn5.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn1:new ActionSheetDialog(MainActivity.this).builder().setTitle("清空消息列表后,聊天记录依然保留,确定要清空消息列表?").setCancelable(true).setCanceledOnTouchOutside(true).addSheetItem("清空消息列表", SheetItemColor.Red,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).show();break;case R.id.btn2:new ActionSheetDialog(MainActivity.this).builder().setCancelable(true).setCanceledOnTouchOutside(true).addSheetItem("发送给好友", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).addSheetItem("转载到空间相册", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).addSheetItem("上传到群相册", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).addSheetItem("保存到手机", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).addSheetItem("收藏", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).addSheetItem("查看聊天图片", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {}}).show();break;case R.id.btn3:new ActionSheetDialog(MainActivity.this).builder().setTitle("请选择操作").setCancelable(true).setCanceledOnTouchOutside(true).addSheetItem("条目一", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目二", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目三", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目四", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目五", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目六", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目七", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目八", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目九", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).addSheetItem("条目十", SheetItemColor.Blue,new OnSheetItemClickListener() {@Overridepublic void onClick(int which) {Toast.makeText(MainActivity.this,"item" + which, Toast.LENGTH_SHORT).show();}}).show();break;case R.id.btn4:new AlertDialog(MainActivity.this).builder().setTitle("退出当前账号").setMsg("再连续登陆15天,就可变身为QQ达人。退出QQ可能会使你现有记录归零,确定退出?").setPositiveButton("确认退出", new OnClickListener() {@Overridepublic void onClick(View v) {}}).setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(View v) {}}).show();break;case R.id.btn5:new AlertDialog(MainActivity.this).builder().setMsg("你现在无法接收到新消息提醒。请到系统-设置-通知中开启消息提醒").setNegativeButton("确定", new OnClickListener() {@Overridepublic void onClick(View v) {}}).show();break;default:break;}}}

MainActivity需要的activity_main.xml文件:

<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>

更多相关文章

  1. Android Tab 选项卡的简单实现
  2. RK3326 Android 8.1 为自己的APK的服务默认开启无障碍权限,避免使
  3. 弹出窗口显示不出ListView的条目
  4. 选项卡片段
  5. Android TabHost风格
  6. 将TabHost选项卡置于下方
  7. Android风格设计(style)
  8. Android系统设置选项的包名
  9. android shape设置背景风格为圆角

随机推荐

  1. Android(安卓)Jetpack架构组件Navigation
  2. Android高仿网易新闻客户端之动态添加标
  3. Android(安卓)Bundle类别
  4. Android(安卓)ImageView控件的MaxWidth、
  5. Android有效解决加载大图片时内存溢出的
  6. android检查网络连接状态的变化,无网络时
  7. Introducing Quick Search Box for Andro
  8. Android(安卓)Studio svn检出项目一直报
  9. 【Android】Android实现截取当前屏幕图片
  10. Android设备唯一标识ID的获取