Android仿ios弹出框AndroidshowDialog库

在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/download/stephen2wong/10260790

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
< 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"
   tools:context = ".MainActivity"
   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 = "列表Item" />
   < 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 >

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

MainActivity.java

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

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

3、运行效果图

         

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

         

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

         

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



IOS_Dialog_Library下载地址: http://download.csdn.net/download/stephen2wong/10260790

猜你喜欢

转载自blog.csdn.net/Stephen2Wong/article/details/79384888
今日推荐