各种dialog的封装实现

来源:互联网 发布:淘宝卖家全网举报在哪 编辑:程序博客网 时间:2024/05/31 05:29

这里封装了常用的Toast,Loading, 提示框,对话框,单选对话框,列表对话框,底部弹出对话框等,这里做个记录,方便以后复用,使用起来也非常简单和方便。

调用方式如下:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. package com.e6gps.dialogsetdemo;  
  2.   
  3. import android.app.Dialog;  
  4. import android.content.DialogInterface;  
  5. import android.os.Bundle;  
  6. import android.support.v7.app.AppCompatActivity;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10.   
  11. import com.e6gps.dialogsetdemo.dialog.CommonDialog;  
  12. import com.e6gps.dialogsetdemo.dialog.ListSelectDialog;  
  13. import com.e6gps.dialogsetdemo.dialog.LoadingDialogUtil;  
  14. import com.e6gps.dialogsetdemo.dialog.PhotoDialogBuilder;  
  15. import com.e6gps.dialogsetdemo.dialog.SingleSelectDialog;  
  16.   
  17. /** 
  18.  * Created by jason on 2016/8/18. 
  19.  * des:${des} 
  20.  */  
  21. public class MainActivity extends AppCompatActivity implements OnClickListener {  
  22.   
  23.     private Button mBtn_loading;  
  24.   
  25.     private Dialog mDialog;  
  26.     private Button mBtn_toast;  
  27.     private Button mBtn_hint;  
  28.     private Button mBtn_dialog;  
  29.     private Button mBtn_selelct_list_dialog;  
  30.     private Button mBtn_single_list_dialog;  
  31.     private Button mBtn_takephoto_dialog;  
  32.   
  33.     @Override  
  34.     protected void onCreate(Bundle savedInstanceState) {  
  35.         super.onCreate(savedInstanceState);  
  36.         setContentView(R.layout.activity_main);  
  37.   
  38.         mBtn_loading = (Button) findViewById(R.id.btn_loading);  
  39.         mBtn_toast = (Button) findViewById(R.id.btn_toast);  
  40.         mBtn_hint = (Button) findViewById(R.id.btn_hint);  
  41.         mBtn_dialog = (Button) findViewById(R.id.btn_dialog);  
  42.         mBtn_selelct_list_dialog = (Button) findViewById(R.id.btn_selelct_list_dialog);  
  43.         mBtn_single_list_dialog = (Button) findViewById(R.id.btn_single_list_dialog);  
  44.         mBtn_takephoto_dialog = (Button) findViewById(R.id.btn_takephoto_dialog);  
  45.   
  46.         mBtn_loading.setOnClickListener(this);  
  47.         mBtn_toast.setOnClickListener(this);  
  48.         mBtn_hint.setOnClickListener(this);  
  49.         mBtn_dialog.setOnClickListener(this);  
  50.         mBtn_selelct_list_dialog.setOnClickListener(this);  
  51.         mBtn_single_list_dialog.setOnClickListener(this);  
  52.         mBtn_takephoto_dialog.setOnClickListener(this);  
  53.     }  
  54.   
  55.     @Override  
  56.     public void onClick(View v) {  
  57.         switch (v.getId()) {  
  58.             case R.id.btn_loading:  
  59.   
  60.                 mDialog = LoadingDialogUtil.createLoadingDialog(MainActivity.this"正在加载数据请稍候"true);  
  61.                 mDialog.show();  
  62.   
  63.                 break;  
  64.             case R.id.btn_toast:  
  65.                 ToastUtils.show(MainActivity.this"我是吐司");  
  66.                 break;  
  67.   
  68.             case R.id.btn_hint:  
  69.                 {  
  70.                     CommonDialog.Builder builder = new CommonDialog.Builder(MainActivity.this);  
  71.                     builder.setTitle("提示");  
  72.                     builder.setMessage("已经是最新版本");  
  73.                     builder.setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  74.                         @Override  
  75.                         public void onClick(DialogInterface dialog, int which) {  
  76.   
  77.                         }  
  78.                     });  
  79.                     builder.create().show();  
  80.                 }  
  81.   
  82.                 break;  
  83.             case R.id.btn_dialog:  
  84.   
  85.                 CommonDialog.Builder builder = new CommonDialog.Builder(MainActivity.this);  
  86.                 builder.setTitle("拨打电话");  
  87.                 builder.setMessage("15112403565");  
  88.                 builder.setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  89.                     @Override  
  90.                     public void onClick(DialogInterface dialog, int which) {  
  91.                         ToastUtils.show(MainActivity.this"取消");  
  92.   
  93.                     }  
  94.                 });  
  95.                 builder.setPositiveButton("拨打"new DialogInterface.OnClickListener() {  
  96.                     @Override  
  97.                     public void onClick(DialogInterface dialog, int which) {  
  98.                         ToastUtils.show(MainActivity.this"确定");  
  99.                     }  
  100.                 });  
  101.                 builder.create().show();  
  102.   
  103.                 break;  
  104.   
  105.             case R.id.btn_selelct_list_dialog:  
  106.                 {  
  107.                     //设置标签  
  108.                     final String[] values = new String[]{"今天""明天","后天"};  
  109.                     final ListSelectDialog dialog = new ListSelectDialog(this"标记为", values);  
  110.                     dialog.setOnSubmitClickListener(new ListSelectDialog.OnSubmitClickListener() {  
  111.                         @Override  
  112.                         public void onSubmitClick(int pos) {  
  113.                             ToastUtils.show(MainActivity.this,values[pos]);  
  114.                             dialog.hidden();  
  115.                         }  
  116.                     });  
  117.                     dialog.show();  
  118.                 }  
  119.                 break;  
  120.   
  121.             case R.id.btn_single_list_dialog:  
  122.                 {  
  123.                     // 取消发布  
  124.                     final String[] values = new String[]{"太丑了""没有钱"};  
  125.                     SingleSelectDialog dialog = new SingleSelectDialog(this"选择原因", values);  
  126.                     dialog.setSelect(0);  
  127.                     dialog.setOnSubmitClickListener(new SingleSelectDialog.OnSubmitClickListener() {  
  128.                         @Override  
  129.                         public void onSubmitClick(int pos) {  
  130.   
  131.                             ToastUtils.show(MainActivity.this,values[pos]);  
  132.                         }  
  133.                     });  
  134.                     dialog.show();  
  135.                 }  
  136.                 break;  
  137.   
  138.             case R.id.btn_takephoto_dialog:  
  139.                 {  
  140.                     final PhotoDialogBuilder photoDialogBuilder = new PhotoDialogBuilder(this);  
  141.                     photoDialogBuilder.setOnPhotoAlbum(new PhotoDialogBuilder.OnPhotoAlbumClickListner() {  
  142.                         @Override  
  143.                         public void onPhotoAlbum() {  
  144.                             ToastUtils.show(MainActivity.this,"相册上传");  
  145.                         }  
  146.                     });  
  147.                     photoDialogBuilder.setOnPhotoCamera(new PhotoDialogBuilder.OnPhotoCameraClickListner() {  
  148.                         @Override  
  149.                         public void onPhotoCamera() {  
  150.                             ToastUtils.show(MainActivity.this,"拍照上传");  
  151.                         }  
  152.                     });  
  153.                     photoDialogBuilder.setOnBtncancle(new PhotoDialogBuilder.OnBtnCancleClickListner() {  
  154.                         @Override  
  155.                         public void onBtnCancle() {  
  156.                             photoDialogBuilder.hidden();  
  157.                         }  
  158.                     });  
  159.                     photoDialogBuilder.show();  
  160.                 }  
  161.                 break;  
  162.   
  163.             default:  
  164.                 break;  
  165.         }  
  166.     }  
  167. }  

下面是效果图:


需要源代码,点击这里下载。。。

0 0
原创粉丝点击