android仿IOS底部弹对话框

在Android开发过程中,常常会因为感觉Android自带的Dialog的样式很丑,项目开发过程中会影响整体效果,会使得开发过程很是忧伤....(话唠时间结束!)

本文我将介绍一款开源的Dialog仿iOS底部弹窗效果IOS_Dialog_Library的使用。我将通过几个简单的示例介绍IOS_Dialog_Library.zip的使用方法。

1、IOS_Dialog_Library是开源的Dialog框架,所以首先你得下载IOS_Dialog_Library.zip包,并作为Library引入你的项目(引入过程省略)。

IOS_Dialog_Library下载地址:http://download.csdn.net/detail/u012721519/9500971


2、在创建完项目和引用完 IOS_Dialog_Library.zip 之后,开始编写代码。

activity_main.xml

[html]  view plain  copy
 
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"  
  3.     android:layout_height="match_parent"  
  4.     tools:context=".MainActivity"  
  5.     android:orientation="vertical">  
  6.   
  7.   
  8.     <Button  
  9.         android:id="@+id/btn1"  
  10.         android:layout_width="match_parent"  
  11.         android:layout_height="wrap_content"  
  12.         android:text="消息" />  
  13.     <Button  
  14.         android:id="@+id/btn2"  
  15.         android:layout_width="match_parent"  
  16.         android:layout_height="wrap_content"  
  17.         android:text="图片" />  
  18.     <Button  
  19.         android:id="@+id/btn3"  
  20.         android:layout_width="match_parent"  
  21.         android:layout_height="wrap_content"  
  22.         android:text="列表Item" />  
  23.     <Button  
  24.         android:id="@+id/btn4"  
  25.         android:layout_width="match_parent"  
  26.         android:layout_height="wrap_content"  
  27.         android:text="退出 弹窗" />  
  28.     <Button  
  29.         android:id="@+id/btn5"  
  30.         android:layout_width="match_parent"  
  31.         android:layout_height="wrap_content"  
  32.         android:text="错误提示窗口" />  
  33.   
  34. LinearLayout>  

上面主要是5个Button,即演示五种不同的IOS_Dialog_Library的使用方法。


MainActivity.Java

[java]  view plain  copy
 
  1. package example.com.showdialog;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.widget.Button;  
  7.   
  8. import zhangphil.iosdialog.widget.ActionSheetDialog;  
  9. import zhangphil.iosdialog.widget.AlertDialog;  
  10.   
  11. /** 
  12.  * package:example.com.showdialog 
  13.  * name:MainActivity.java 
  14.  * Write by Jimmy.li 
  15.  * Date:2016/4/24 16:39 
  16.  */  
  17. public class MainActivity extends Activity implements View.OnClickListener {  
  18.     private Button btn1, btn2, btn3, btn4, btn5;  
  19.   
  20.     @Override  
  21.     protected void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.activity_main);  
  24.         initView();  
  25.     }  
  26.   
  27.     private void initView() {  
  28.         btn1 = (Button) findViewById(R.id.btn1);  
  29.         btn2 = (Button) findViewById(R.id.btn2);  
  30.         btn3 = (Button) findViewById(R.id.btn3);  
  31.         btn4 = (Button) findViewById(R.id.btn4);  
  32.         btn5 = (Button) findViewById(R.id.btn5);  
  33.         btn1.setOnClickListener(this);  
  34.         btn2.setOnClickListener(this);  
  35.         btn3.setOnClickListener(this);  
  36.         btn4.setOnClickListener(this);  
  37.         btn5.setOnClickListener(this);  
  38.     }  
  39.   
  40.     @Override  
  41.     public void onClick(View v) {  
  42.         switch (v.getId()) {  
  43.             case R.id.btn1:  
  44.                 new ActionSheetDialog(MainActivity.this)  
  45.                         .builder()  
  46.                         .setTitle("清空消息列表后,聊天记录依然保留,确定要清空消息列表?")  
  47.                         .setCancelable(true)  
  48.                         .setCanceledOnTouchOutside(true)  
  49.                         .addSheetItem("清空消息列表", ActionSheetDialog.SheetItemColor.Red  
  50.                                 , new ActionSheetDialog.OnSheetItemClickListener() {  
  51.                             @Override  
  52.                             public void onClick(int which) {  
  53.                                 //填写事件  
  54.                             }  
  55.                         }).show();  
  56.                 break;  
  57.             case R.id.btn2:  
  58.                 new ActionSheetDialog(MainActivity.this)  
  59.                         .builder()  
  60.                         .setCancelable(true)  
  61.                         .setCanceledOnTouchOutside(true)  
  62.                         .addSheetItem("发送给好友",  
  63.                                 ActionSheetDialog.SheetItemColor.Blue,  
  64.                                 new ActionSheetDialog.OnSheetItemClickListener() {  
  65.                                     @Override  
  66.                                     public void onClick(int which) {  
  67.                                         //填写事件  
  68.                                     }  
  69.                                 })  
  70.                         .addSheetItem("转载到空间相册",  
  71.                                 ActionSheetDialog.SheetItemColor.Blue,  
  72.                                 new ActionSheetDialog.OnSheetItemClickListener() {  
  73.                                     @Override  
  74.                                     public void onClick(int which) {  
  75.                                         //填写事件  
  76.                                     }  
  77.                                 })  
  78.                         .addSheetItem("上传到群相册",  
  79.                                 ActionSheetDialog.SheetItemColor.Blue,  
  80.                                 new ActionSheetDialog.OnSheetItemClickListener() {  
  81.                                     @Override  
  82.                                     public void onClick(int which) {  
  83.                                         //填写事件  
  84.                                     }  
  85.                                 })  
  86.                         .addSheetItem("保存到手机",  
  87.                                 ActionSheetDialog.SheetItemColor.Blue,  
  88.                                 new ActionSheetDialog.OnSheetItemClickListener() {  
  89.                                     @Override  
  90.                                     public void onClick(int which) {  
  91.                                         //填写事件  
  92.                                     }  
  93.                                 }).show();  
  94.                 break;  
  95.             case R.id.btn3:  
  96.                 new ActionSheetDialog(MainActivity.this)  
  97.                         .builder()  
  98.                         .setTitle("好友列表")  
  99.                         .setCancelable(true)  
  100.                         .setCanceledOnTouchOutside(true)  
  101.                         .addSheetItem("删除好友", ActionSheetDialog.SheetItemColor.Red  
  102.                                 , new ActionSheetDialog.OnSheetItemClickListener() {  
  103.                             @Override  
  104.                             public void onClick(int which) {  
  105.                                 //填写事件  
  106.                             }  
  107.                         })  
  108.                         .addSheetItem("增加好友", ActionSheetDialog.SheetItemColor.Blue  
  109.                                 , new ActionSheetDialog.OnSheetItemClickListener() {  
  110.                             @Override  
  111.                             public void onClick(int which) {  
  112.                                 //填写事件  
  113.                             }  
  114.                         })  
  115.                         .addSheetItem("备注", ActionSheetDialog.SheetItemColor.Blue  
  116.                                 , new ActionSheetDialog.OnSheetItemClickListener() {  
  117.                             @Override  
  118.                             public void onClick(int which) {  
  119.                                 //填写事件  
  120.                             }  
  121.                         }).show();  
  122.                 break;  
  123.             case R.id.btn4:  
  124.                 new AlertDialog(MainActivity.this)  
  125.                         .builder()  
  126.                         .setTitle("退出当前帐号")  
  127.                         .setMsg("再连续登陆天,就可变身为QQ达人。退出QQ可能会使你现有记录归零,确定退出?")  
  128.                         .setPositiveButton("确认退出"new View.OnClickListener() {  
  129.                             @Override  
  130.                             public void onClick(View v) {  
  131.                                 //填写事件  
  132.                             }  
  133.                         })  
  134.                         .setNegativeButton("取消"new View.OnClickListener() {  
  135.                             @Override  
  136.                             public void onClick(View v) {  
  137.                                 //填写事件  
  138.                             }  
  139.                         }).show();  
  140.                 break;  
  141.             case R.id.btn5:  
  142.                 new AlertDialog(MainActivity.this)  
  143.                         .builder()  
  144.                         .setTitle("错误信息")  
  145.                         .setMsg("你的手机sd卡出现问题,建议删除不需要的文件,否则收不到图片和视频等打文件")  
  146.                         .setPositiveButton("确定"new View.OnClickListener() {  
  147.                             @Override  
  148.                             public void onClick(View v) {  
  149.                                 //填写事件  
  150.                             }  
  151.                         }).show();  
  152.                 break;  
  153.         }  
  154.     }  
  155. }  


java代码主要是简要的说明了IOS_Dialog_Library的五种不同的实现方法及效果。可以在注释部分写点击事件。



3、运行效果图

android仿IOS底部弹对话框_第1张图片         android仿IOS底部弹对话框_第2张图片

运行效果图1                                   点击"消息"示意图2

android仿IOS底部弹对话框_第3张图片         android仿IOS底部弹对话框_第4张图片

点击"图片"效果图3                              点击"列表Item"效果图4

android仿IOS底部弹对话框_第5张图片         android仿IOS底部弹对话框_第6张图片

点击"退出弹窗"效果图5                           点击"错误提示窗口"图6


源码下载地址:http://download.csdn.net/detail/u012721519/9501050


Good luck!

你可能感兴趣的:(android,ui,android,ui,自定义对话框,仿IOS底部对话框)