Android 封装Dialog

 1 package com.example.myandroid01;
 2
 3 import android.support.v7.app.ActionBarActivity;
 4 import android.os.Bundle;
 5 import android.view.Menu;
 6 import android.view.MenuItem;
 7 import android.view.View;
 8 import android.widget.Button;
 9 import android.widget.Toast;
10 /**
11  * Android 封装Dialog
12  * @Describe:
13  * @package: com.example.myandroid01
14  * @author shaobn
15  * @date 2015-9-14 下午2:35:49
16  */
17 public class MainActivity extends ActionBarActivity {
18     private Button button1;
19     private Button button2;
20     private CustomDialog cdCustomDialog;
21     private static final String TITLE = "Warning";
22     private static final String MESSAGE = "确定删除?";
23     private static final String BUTTONNAME = "确定";
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.activity_main);
28         button1 = (Button) this.findViewById(R.id.button1);
29         button2 = (Button) this.findViewById(R.id.button2);
30         button1.setOnClickListener(new View.OnClickListener() {
31
32             @Override
33             public void onClick(View arg0) {
34                 // TODO Auto-generated method stub
35                 cdCustomDialog = new CustomDialog(MainActivity.this);
36                 cdCustomDialog.createDialog(TITLE,MESSAGE, BUTTONNAME,new DialogInter() {
37
38                     @Override
39                     public void callback(boolean flag) {
40                         // TODO Auto-generated method stub
41                         Toast.makeText(getApplicationContext(), "已点击", 1).show();
42                     }
43                 });
44             }
45         });
46         button2.setOnClickListener(new View.OnClickListener() {
47
48             @Override
49             public void onClick(View arg0) {
50                 // TODO Auto-generated method stub
51                 cdCustomDialog = new CustomDialog(MainActivity.this);
52                 cdCustomDialog.toastDialog("sure");
53             }
54         });
55     }
56 }
 1 package com.example.myandroid01;
 2
 3 import android.app.AlertDialog;
 4 import android.content.Context;
 5 import android.content.DialogInterface;
 6 import android.content.DialogInterface.OnClickListener;
 7 import android.widget.Toast;
 8 /**
 9  * 自定义dialog类
10  * @Describe:
11  * @package: com.example.myandroid01
12  * @author shaobn
13  * @date 2015-9-14 下午2:36:17
14  */
15 class CustomDialog {
16     private Context context;
17     private AlertDialog.Builder builder;
18     public CustomDialog(Context context) {
19         // TODO Auto-generated constructor stub
20         this.context = context;
21     }
22     public void createDialog(String title,String message,String buttonName,final DialogInter dialogInter){
23         builder = new AlertDialog.Builder(context);
24         builder.setTitle(title);
25         builder.setMessage(message);
26         builder.setPositiveButton(buttonName, new OnClickListener() {
27
28             @Override
29             public void onClick(DialogInterface arg0, int arg1) {
30                 // TODO Auto-generated method stub
31                 dialogInter.callback(true);
32             }
33         });
34         builder.create().show();
35     }
36     public void toastDialog(String message){
37         Toast.makeText(context, message,Toast.LENGTH_LONG).show();
38     }
39
40 }
41 interface DialogInter{
42         void callback(boolean flag);
43     }
时间: 2025-01-22 05:49:59

Android 封装Dialog的相关文章

Android封装TitleBar基本适用所有常规开发

Android封装TitleBar基本适用所有常规开发 github地址:https://github.com/SiberiaDante/SiberiaDanteLib/blob/master/sample/src/main/notes/TitleBar.md 主要实现:(后续会继续完善,喜欢的给个star,感谢支持) 使用方法 allprojects { repositories { ... aven { url 'https://jitpack.io' } } } dependencies

Android 自定义Dialog类,并在Activity中实现按钮监听。

实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的按钮,Dialog类如下,在MyDialog这个类中实现了一个LeaveMyDialogListener接口,用来实现onclick的点击事件: package com.Ieasy.Tool; import com.Ieasy.ieasyware.R; import android.app.Dialog

(Android review)dialog的使用

一.基本知识点 常见的dialog 基本代码:AlertDialog.Builder builder = new AlertDialog.Builder(this);AlertDialog dialog = builder.create();dialog.show(); 1)常见对话框builder.setMessage("浏览传智播客的网站");builder.setPositiveButton 2)选择对话框builder.setItems(items, new DialogInt

探讨:你真的会用Android的Dialog吗?

一个Bug前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的: 复制代码代码如下: java.lang.IllegalArgumentException: View not attached to window manager    at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:356)    at android.view.WindowManagerImpl.rem

Android中Dialog

在Android中,Dialog是一个非常重要的UI, 它可以方便的给用户提示,用最简洁的方式向用户展示信息, 以下的图片是Dialog的一个整体架构,通过它,可以总体对Dialog有一个很清晰的认识. 从这张图中可以看到,Dialog为父类, 其下有最重要的, 我们最常用的AlertDilog, 而AlertDialog的子类,则是由DatPicker, ProgressDialog,TimePick来组成. 这几个子类都是我们在程序开发中最常用的,因此要重点理解, 我们可以试着想像一下,如下

Android之Dialog详解

Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框. 在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义对话框.当然学会系统的,自定义就简单了,所以我们先来学习系统的,后面在写一篇自定义对话框. 一般对话框: 不多说先上图: 代码: private void dialog1(){ AlertDialog.Builder builder=new AlertDialog.Builder(this);

android自定义dialog布局

dialog使用系统自带的有时候不是很美观,就想要自己来设计一个dialog界面,以下就是可以设计的dialog界面: public class CustomDialog extends Dialog { int layoutRes;// Context context; public CustomDialog(Context context) { super(context); this.context = context; } public CustomDialog(Context cont

Android中Dialog对话框(未完待续)

布局文件xml: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5

android之dialog

先编写activity_main.xml文件 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/MyLayout" android:orientation="horizontal" and