关于Android对话框简单实用方法总结
要显示一个对话框,首先需要在xx.xml下添加一个Button按钮,并添加一个对应id。
单次点击事件对话框:
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//定义对话框的步骤
//1.获取buidlder对象
final AlertDialog.Builder builder =new AlertDialog.Builder(MainActiviy.this);
//2.通过调用builder对象的方法,设置对话框的标题,内容,图标,按钮
builder.setMessage("这是一个简单的对话框");
//3.通过bulider创建简单的对话框
builder.create();
//4.通过builder对象的show方法,显示对话框
builder.show();
多事件对话框选择:
builder.setMessage("你是一个简单的傻哥")
.setTitle("对话框")
.setIcon(R.drawable.cat)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
button.setText("您点了确定");
}
})
.setNegativeButton("取消",null)
.create()
.show();
}
});
}
点击选择提示对话框:
builder.setItems(new String[]{"红色", "黄色", "绿色"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch(which){
case 0:
button.setText("傻哥");
break
case 1:
button.setText("傻哥1");
break;
case 2:
button.setText("傻哥2");
break;
}
}
})
.setIcon(R.drawable.cat)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
button.setText("您点了确定");
}
})
.setNegativeButton("取消",null)
.create()
.show(); }
});
} 调用颜色变化:
builder.setSingleChoiceItems(new String[]{"红色","黄色","绿色"},
1,new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case 0:
button.setTextColor(getResources().getColor(R.color.colorAccent));
break;
case 1:
button.setTextColor(getResources().getColor(R.color.colorPrimary));
break;
case 2:
button.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
break;
}
}
})
.setTitle("对话框")
.setIcon(R.drawable.cat)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
button.setText("您点了确定");
}
})
.setNegativeButton("取消",null)
.create()
.show();
}
});
}
多选对话框
init();
button.setOnClickListener(new View.OnClickListener(){ @Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(Main20170326.this);
final boolean[] checkeds={true,true,false};
final String[] items =new String[]{"红色","黄色","蓝色"};
builder.setMultiChoiceItems(new String[]{"红色","黄色","蓝色"}
, checkeds,new DialogInterface.OnMultiChoiceClickListener(){ @Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
String result="";
for(int i=0; i<checkeds.length;i++){
if(checkeds[i]){
result +=items[i]+"";
}
}
textView.setText(result);
}
})
.setTitle("多选对话框")
.create()
.show();
}
}); }
关于Android对话框简单实用方法总结的更多相关文章
- bootstrapValidator.js,最好用的bootstrap表单验证插件 简单实用方法
实用方法 1.引入 在有jquery和bootstrap的页面里引入bootstrapValidator.js和bootstrapValidator.css文件 2. 按照bootstrap的表单组件 ...
- Android FlycoDialog 简单实用的自定义Android弹窗对话框之Dialog篇
效果图镇楼 FlycoDialog是一款非常棒的弹窗对话框处理框架,今天在这里主要讲一下他的自定义弹出对话框的功能,这里以第二幅效果图为例,图片已经放在博客最下方,X号自己随便找一个东西代替吧. ...
- Android反编译工具介绍与简单实用方法
Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar class ...
- Android ListView简单实用
layout创建: activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ ...
- Java 简单实用方法二
整理以前的笔记,在学习Java时候,经常会用到一些方法.虽然简单但是经常使用.因此做成笔记,方便以后查阅 这篇博文先说明构造和使用这些方法. 1,判断String类型数据是否包含中文 可以通过正则表达 ...
- Android ProgressDialog 简单实用
ProgressDialog progressDialog; @SuppressLint("HandlerLeak") Handler handler1 = new Handler ...
- Swiper的简单实用方法
最近项目中有用到一个非常强大的组件idangerous.swiper.js的组件,这个组件能够实现幻灯片的播放效果,而且有各种3D效果,大家可以去试一下,效果很不错的说! 这是这个项目的api文档:h ...
- android Mvp简单实用
View 对应于Activity,负责View的绘制以及与用户交互Model 依然是业务逻辑和实体模型Presenter 负责完成View于Model间的交互 模拟客户端的登录操作,并实现登录成功与登 ...
- 浅谈vuex使用方法(vuex简单实用方法)
Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vu ...
随机推荐
- Kafka学习笔记(3)----Kafka的数据复制(Replica)与Failover
1. CAP理论 1.1 Cosistency(一致性) 通过某个节点的写操作结果对后面通过其他节点的读操作可见. 如果更新数据后,并发访问的情况下可立即感知该更新,称为强一致性 如果允许之后部分或全 ...
- 克隆CentOS 6.9 配置静态IP,重启网络服务时报错
克隆的CentOS 6.9 第一次开机时,VMware workstation会为新虚拟机自动生成新mac地址,导致虚拟机配置文件中mac地址与虚拟机新mac地址不一致. 解决方法:1. 修改网卡配置 ...
- Substring Uva 11468_记忆化搜索 + AC自动机
Code: #include<cstdio> #include<cstring> #include<queue> using namespace std; cons ...
- k8s的概念
Kubernetes(简称为 K8s),最初由 Google 的工程师开发和设计.Kubernetes 是用于自动部署.扩展和管理容器化应用程序的开源系统,它旨在提供跨主机集群的自动部署.扩展以及运行 ...
- grep的各种用法
1. 在文件中查找模式(单词) 在/etc/passwd文件中查找单词 root [root@localhost opt]# grep root /etc/passwdroot:x:0:0:root: ...
- mybatis入门截图三
----------------------------------------------- <!-- 用户信息的综合查询 --> <select id="userlis ...
- 干货:鲜为人用的MySQL高级特性与玩法!
上一篇文章<万字总结:学习MySQL优化原理,这一篇就够了!>文末给大家留有两个开放的问题: 有非常多的程序员在分享时都会抛出这样一个观点:尽可能不要使用存储过程,存储过程非常不容易维护, ...
- ASP.NET中的Webconfig 和 Global.asax区别
Web.Config与Global.asax的区别: Config可以根据不同的错误类型定义不同的错误页,网站重定义转向新的错误页面. Global,在全局错误中写入应用程序事件错误信息,并在当前页输 ...
- tableView计算动态行高的总结
研究tableView怎么计算动态行高研究了两天一直还不太会,今天最终做出来了想要的效果. 首先.我在网上搜集了非常多资料,各种大神的总结,然后開始看.研究.试验,基本思路都是一样的. 1.一定要将l ...
- [HTML5] Text Alternatives
Most of times, we need 'alt' to the images, so it can tell the screen reader what is this image abou ...