几种常见的Dialog
来源:互联网 发布:获取json对象的属性值 编辑:程序博客网 时间:2024/05/24 02:37
前言
项目中经常使用到的几种Dialog,所以干脆封装起来了,方便以后使用,顺便分享给大家,话不多说,直接看效果。
注意:使用的时候,不要忘记 .show 奥。
- 样式一
使用如下代码:
NormalSelectionDialog dialog1 = new NormalSelectionDialog.Builder(this) .setlTitleVisible(true) //设置是否显示标题 .setTitleHeight(65) //设置标题高度 .setTitleText("please select") //设置标题提示文本 .setTitleTextSize(14) //设置标题字体大小 sp .setTitleTextColor(R.color.colorPrimary) //设置标题文本颜色 .setItemHeight(40) //设置item的高度 .setItemWidth(0.9f) //屏幕宽度*0.9 .setItemTextColor(R.color.colorPrimaryDark) //设置item字体颜色 .setItemTextSize(14) //设置item字体大小 .setCancleButtonText("Cancle") //设置最底部“取消”按钮文本 .setOnItemListener(new DialogOnItemClickListener() { //监听item点击事件 @Override public void onItemClick(Button button, int position) {// dialog1.dismiss(); Toast.makeText(MainActivity.this, s.get(position), Toast.LENGTH_SHORT).show(); } }) .setCanceledOnTouchOutside(true) //设置是否可点击其他地方取消dialog .build(); ArrayList<String> s = new ArrayList<>(); s.add("Weavey0"); s.add("Weavey1"); s.add("Weavey2"); s.add("Weavey3"); dialog1.setDataList(s);
- 样式二
使用如下代码:
NormalAlertDialog dialog2 = new NormalAlertDialog.Builder(MainActivity.this) .setHeight(0.23f) //屏幕高度*0.23 .setWidth(0.65f) //屏幕宽度*0.65 .setTitleVisible(true) .setTitleText("温馨提示") .setTitleTextColor(R.color.black_light) .setContentText("是否关闭对话框?") .setContentTextColor(R.color.black_light) .setLeftButtonText("关闭") .setLeftButtonTextColor(R.color.gray) .setRightButtonText("不关闭") .setRightButtonTextColor(R.color.black_light) .setOnclickListener(new DialogOnClickListener() { @Override public void clickLeftButton(View view) {// dialog2.dismiss(); } @Override public void clickRightButton(View view) {// dialog2.dismiss(); } }) .build();
- 样式三
使用如下代码:
NormalAlertDialog dialog3 = new NormalAlertDialog.Builder(MainActivity.this) .setHeight(0.23f) //屏幕高度*0.23 .setWidth(0.65f) //屏幕宽度*0.65 .setTitleVisible(true) .setTitleText("温馨提示") .setTitleTextColor(R.color.colorPrimary) .setContentText("是否关闭对话框?") .setContentTextColor(R.color.colorPrimaryDark) .setSingleMode(true) .setSingleButtonText("关闭") .setSingleButtonTextColor(R.color.colorAccent) .setCanceledOnTouchOutside(true) .setSingleListener(new View.OnClickListener() { @Override public void onClick(View view) {// dialog3.dismiss(); } }) .build();
- 样式四
使用如下代码:
MDAlertDialog dialog4 = new MDAlertDialog.Builder(MainActivity.this) .setHeight(0.21f) //屏幕高度*0.21 .setWidth(0.7f) //屏幕宽度*0.7 .setTitleVisible(true) .setTitleText("温馨提示") .setTitleTextColor(R.color.black_light) .setContentText("确定发送文件?") .setContentTextColor(R.color.black_light) .setLeftButtonText("不发送") .setLeftButtonTextColor(R.color.gray) .setRightButtonText("发送") .setRightButtonTextColor(R.color.black_light) .setTitleTextSize(16) .setContentTextSize(14) .setButtonTextSize(14) .setOnclickListener(new DialogOnClickListener() { @Override public void clickLeftButton(View view) {// dialog4.dismiss(); } @Override public void clickRightButton(View view) {// dialog4.dismiss(); } }) .build();
- 样式五
使用如下代码:
MDSelectionDialog dialog5 = new MDSelectionDialog.Builder(MainActivity.this) .setCanceledOnTouchOutside(true) .setItemTextColor(R.color.black_light) .setItemHeight(50) .setItemWidth(0.8f) //屏幕宽度*0.8 .setItemTextSize(15) .setCanceledOnTouchOutside(true) .setOnItemListener(new DialogOnItemClickListener() { @Override public void onItemClick(Button button, int position) { Toast.makeText(MainActivity.this, datas.get(position), Toast.LENGTH_SHORT).show();// dialog5.dismiss(); } }) .build(); datas = new ArrayList<>(); datas.add("标为未读"); datas.add("置顶聊天"); datas.add("删除该聊天"); dialog5.setDataList(datas);
- 样式六
使用如下代码:
MDEditDialog dialog6 = new MDEditDialog.Builder(MainActivity.this) .setTitleVisible(true) .setTitleText("修改用户名") .setTitleTextSize(20) .setTitleTextColor(R.color.black_light) .setContentText("Weavey") .setContentTextSize(18) .setMaxLength(7) .setHintText("7位字符") .setMaxLines(1) .setContentTextColor(R.color.colorPrimary) .setButtonTextSize(14) .setLeftButtonTextColor(R.color.colorPrimary) .setLeftButtonText("取消") .setRightButtonTextColor(R.color.colorPrimary) .setRightButtonText("确定") .setLineColor(R.color.colorPrimary) .setOnclickListener(new MDEditDialog.OnClickEditDialogListener() { @Override public void clickLeftButton(View view, String text) { //text为编辑的内容 } @Override public void clickRightButton(View view, String text) { //text为编辑的内容 } }) .setMinHeight(0.3f) .setWidth(0.8f) .build();
引用方式
- Maven配置
<dependency><groupId>com.lai.weavey</groupId><artifactId>dialog</artifactId><version>1.1</version><type>pom</type></dependency>
gradle引用
compile 'com.lai.weavey:dialog:1.3'
在使用的时候 我们将 dialog2 变为全局,在最下面.build()后调用 dialog2.show 就可以显示了,设置消失可以设置dialog.dismiss。
并且我们可以进行进一步的小封装:
public static void ShowTokenNewLogin(final Context context){ dialog2 = new NormalAlertDialog.Builder(context) .setHeight(0.23f) //屏幕高度*0.23 .setWidth(0.65f) //屏幕宽度*0.65 .setTitleVisible(true) .setTitleText(context.getResources().getString(R.string.login_time_to_long)) .setTitleTextColor(R.color.black_light) .setContentText(context.getResources().getString(R.string.the_new_login)) .setContentTextColor(R.color.black_light) .setLeftButtonText(context.getResources().getString(R.string.exit_p_x)) .setLeftButtonTextColor(R.color.gray) .setRightButtonText(context.getResources().getString(R.string.login_again)) .setRightButtonTextColor(R.color.black_light) .setCanceledOnTouchOutside(true) .setOnclickListener(new DialogOnClickListener() { @Override public void clickLeftButton(View view) { dialog2.dismiss(); SharedPreferencesUtils.clearToken(context); SharedPreferencesUtils.clearAppID(context); ActivityCollector.finfishAll(); } @Override public void clickRightButton(View view) { dialog2.dismiss(); SharedPreferencesUtils.clearToken(context); SharedPreferencesUtils.clearAppID(context); Intent intent = new Intent(context, LoginActivity.class); context.startActivity(intent); } }) .build(); dialog2.show();}
其余代码就不一一展示了,主要思想就是传进context对象,把它写在工具类中,这样我们就可以在有需要的地方去调用它了。
原文地址:http://www.jianshu.com/p/8cb2e709891c
阅读全文
1 0
- 几种常见的Dialog
- android dialog常见的几种用法
- 几种常见Dialog,直接拿去用!
- 几种常见Dialog,懒人必收
- Android--Dialog,Dialog 的几种使用方法
- Dialog的几种方式
- Dialog的几种用法
- 直接拿去用!几种常见Dialog,懒人必收
- Android Dialog的五种常见使用
- 常见的对话框Dialog
- Android 对话框(Dialog)的几种用法。
- Dialog的几种形式 Android开发
- Android dialog的几种形式
- Android 对话框(Dialog)的几种用法。
- 自定义Dialog的几种实现方式
- 几种简单的Dialog对话框
- 常见的几种RuntimeException-
- 几种常见的排序
- time-lock and phase-lock signal
- leetocde 374. Guess Number Higher or Lower
- okhttp的坑坑坑 unexpected end of stream on Connection
- 计算机图形学笔记---Cg语言(一)
- 学习下ACM的题目
- 几种常见的Dialog
- Microsoft c++ Speech 识别接口快速入门
- [LeetCode] Rotate List
- QSettings
- linux tree命令
- ASP.NET MVC 下拉列表实现
- 《Drools7.0.0.Final规则引擎教程》第4章 4.2 auto-focus
- css基础知识总结
- 使用comment.net的FTP工具后支持完美的断点上传和下载