各种dialog的封装实现
来源:互联网 发布:献给虚无的供物 知乎 编辑:程序博客网 时间:2024/05/20 06:04
这里封装了常用的Toast,Loading, 提示框,对话框,单选对话框,列表对话框,底部弹出对话框等,这里做个记录,方便以后复用,使用起来也非常简单和方便。
调用方式如下:
package com.e6gps.dialogsetdemo;import android.app.Dialog;import android.content.DialogInterface;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.e6gps.dialogsetdemo.dialog.CommonDialog;import com.e6gps.dialogsetdemo.dialog.ListSelectDialog;import com.e6gps.dialogsetdemo.dialog.LoadingDialogUtil;import com.e6gps.dialogsetdemo.dialog.PhotoDialogBuilder;import com.e6gps.dialogsetdemo.dialog.SingleSelectDialog;/** * Created by jason on 2016/8/18. * des:${des} */public class MainActivity extends AppCompatActivity implements OnClickListener { private Button mBtn_loading; private Dialog mDialog; private Button mBtn_toast; private Button mBtn_hint; private Button mBtn_dialog; private Button mBtn_selelct_list_dialog; private Button mBtn_single_list_dialog; private Button mBtn_takephoto_dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mBtn_loading = (Button) findViewById(R.id.btn_loading); mBtn_toast = (Button) findViewById(R.id.btn_toast); mBtn_hint = (Button) findViewById(R.id.btn_hint); mBtn_dialog = (Button) findViewById(R.id.btn_dialog); mBtn_selelct_list_dialog = (Button) findViewById(R.id.btn_selelct_list_dialog); mBtn_single_list_dialog = (Button) findViewById(R.id.btn_single_list_dialog); mBtn_takephoto_dialog = (Button) findViewById(R.id.btn_takephoto_dialog); mBtn_loading.setOnClickListener(this); mBtn_toast.setOnClickListener(this); mBtn_hint.setOnClickListener(this); mBtn_dialog.setOnClickListener(this); mBtn_selelct_list_dialog.setOnClickListener(this); mBtn_single_list_dialog.setOnClickListener(this); mBtn_takephoto_dialog.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_loading: mDialog = LoadingDialogUtil.createLoadingDialog(MainActivity.this, "正在加载数据请稍候", true); mDialog.show(); break; case R.id.btn_toast: ToastUtils.show(MainActivity.this, "我是吐司"); break; case R.id.btn_hint: { CommonDialog.Builder builder = new CommonDialog.Builder(MainActivity.this); builder.setTitle("提示"); builder.setMessage("已经是最新版本"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); builder.create().show(); } break; case R.id.btn_dialog: CommonDialog.Builder builder = new CommonDialog.Builder(MainActivity.this); builder.setTitle("拨打电话"); builder.setMessage("15112403565"); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ToastUtils.show(MainActivity.this, "取消"); } }); builder.setPositiveButton("拨打", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ToastUtils.show(MainActivity.this, "确定"); } }); builder.create().show(); break; case R.id.btn_selelct_list_dialog: { //设置标签 final String[] values = new String[]{"今天", "明天","后天"}; final ListSelectDialog dialog = new ListSelectDialog(this, "标记为", values); dialog.setOnSubmitClickListener(new ListSelectDialog.OnSubmitClickListener() { @Override public void onSubmitClick(int pos) { ToastUtils.show(MainActivity.this,values[pos]); dialog.hidden(); } }); dialog.show(); } break; case R.id.btn_single_list_dialog: { // 取消发布 final String[] values = new String[]{"太丑了", "没有钱"}; SingleSelectDialog dialog = new SingleSelectDialog(this, "选择原因", values); dialog.setSelect(0); dialog.setOnSubmitClickListener(new SingleSelectDialog.OnSubmitClickListener() { @Override public void onSubmitClick(int pos) { ToastUtils.show(MainActivity.this,values[pos]); } }); dialog.show(); } break; case R.id.btn_takephoto_dialog: { final PhotoDialogBuilder photoDialogBuilder = new PhotoDialogBuilder(this); photoDialogBuilder.setOnPhotoAlbum(new PhotoDialogBuilder.OnPhotoAlbumClickListner() { @Override public void onPhotoAlbum() { ToastUtils.show(MainActivity.this,"相册上传"); } }); photoDialogBuilder.setOnPhotoCamera(new PhotoDialogBuilder.OnPhotoCameraClickListner() { @Override public void onPhotoCamera() { ToastUtils.show(MainActivity.this,"拍照上传"); } }); photoDialogBuilder.setOnBtncancle(new PhotoDialogBuilder.OnBtnCancleClickListner() { @Override public void onBtnCancle() { photoDialogBuilder.hidden(); } }); photoDialogBuilder.show(); } break; default: break; } }}
下面是效果图:
需要源代码,点击这里下载。。。
1 0
- 各种dialog的封装实现
- 各种dialog的封装实现
- Android-- 封装Dialog,即自定义Dialog,使其满足各种dialog的样式要求
- Dialog 的简易封装
- 各种自定义的dialog
- Android的各种Dialog
- 各种Dialog的使用
- 自定义view__封装Dialog-分享功能UI的实现
- 自定义Dialog实现各种效果
- 封装dialog显示的代码
- layer控件的dialog封装
- 封装的EasyUI Dialog插件
- NiftyDialogEffects(各种动画的dialog)
- Dialog的各种使用方式
- 各种Dialog,满足你的各种需求
- 各种Dialog,满足你的各种需求
- 各种方法的封装
- Android 自定义Dialog实现步骤及封装
- swift中字符串常用操作---字符截取
- 信号与系统学习(2)-跃阶信号
- 从数组中随机选择一条
- 实习学习日记20160819
- handleOpenURL 回调方法不调用
- 各种dialog的封装实现
- oracle删除用户时,提示“无法删除当前已连接的用户”
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- 游戏动作感设计初探
- 04_多线程_死锁
- SpringMVC查找POJO对象的流程
- Android常见错误(二)
- 利用spring aop 处理异常
- ActiveMQ -- 消息持久化