他好,我也好
来源:互联网 发布:mac上ps ai怎么装字体 编辑:程序博客网 时间:2024/04/28 14:51
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择,或者给用户提示,这个情况下方便了客户,也便利了自己,不用重复的去创建Activity,可谓“他好,我也好”。这些功能我们们叫它Android Dialog对话框,在我们使用Android的过程中,Android Dialog的类型也分好几种。
AlertDialog实现方法(建造者模式)
实例化建造者AlertDialog.Builder
利用builder设置对话框的各种属性
setTitle(标题)
setMessage(消息)
setIcon(图标)
setCancelable(boolean b)设置是否可以取消
setPositiveButton() 设置正面按钮及点击事件
setNegativeButton() 设置反面按钮及点击事件
setNeutralButton() 设置中立按钮及点击事件
今天给大家介绍几种常见的Dialog
1、提示Dialog
public void alertClick(View v) {
//创建 一个提示对话框的构造者对象
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");//标题
builder.setIcon(R.drawable.ic_launcher);//图标
builder.setMessage("你寂寞吗?");
builder.setCancelable(false);//能否被取消
//正面的按钮(肯定)
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "那我给你介绍个妹子吧", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
//反面的按钮(否定)
builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "那你自己玩吧", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
//中立的按钮
builder.setNeutralButton("沉默", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你到是说句话", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
builder.show();
}
这个提示带有一句提示消息,并带有三个按钮,实现效果如下:
2、多项单选Dialog,顾名思义就是多项里面选择一个,实现代码如下:
public void selectClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择一位");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
效果图如下:
3、多项多选Dialog,即多项选择,实现代码如下:
public void multiClick(View v) {
names.clear();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择");
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
names.add(items[which]);
Toast.makeText(MainActivity.this, items[which] + "被选中了", Toast.LENGTH_SHORT).show();
}else{
names.remove(items[which]);
Toast.makeText(MainActivity.this, items[which] + "被取消了", Toast.LENGTH_SHORT).show();
}
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, Arrays.toString(names.toArray()), Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
builder.show();
}
效果如下图:
4、登录Dialog,此处需要自定义一个login_layout布局,并将其填充进去:
public void loginClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("登录");
final View view = getLayoutInflater().inflate(R.layout.login_layout,null);
builder.setView(view);
builder.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText et_username = (EditText) view.findViewById(R.id.editText_username);
EditText et_password = (EditText) view.findViewById(R.id.editText_password);
String username = et_username.getText().toString();
String password = et_password.getText().toString();
Toast.makeText(MainActivity.this, username+"-"+password, Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
}
实现效果如下:
总结:当然dialog样式还有很多种,因为这个布局可以自定义,所以扩展空间无限,大家实际开发过程中根据自己需求来定义自己的dialog给用户方便也给自己方便。
- 他好,我也好
- 好也好也
- 让我笑也好
- 额人也好他如何防火防盗
- \t\t林荫苗圃 苗木和苗圃 好苗木种植技术是关键 它好我也好
- 好辛苦哦,也好累啊。。。。。。。
- 对身体好的,对大脑也好
- valgrind,好东西,一般人我不告诉他~~ 选项
- 【好想知道他是不是也喜欢我!看他…
- 嘿嘿,我喜欢csdn,他给了我许多知识,大家好,才是真的好...
- 天天好让他
- 我没有他喜欢的那个女生的硬件好,没有他们认识的时间长
- “那个人样子好怪。”“我也看到了,他好像一条狗。”
- 汉澳sinox比windows好用,一般人我不告诉他
- 【为什么他对别人比对我好?当你羡…
- 惹我他认为他惹我
- 中国基站好用也好美 升哲科技Alpha物联网基站斩获德国红点奖
- 这样也好。
- UIKit框架之—— UIButton
- SDE连接,创建数据集,数据导入以及数据导出
- Android调用系统键盘的方法
- Arcgisc打开报严重错误解决方法之一
- Batch Normalization导读
- 他好,我也好
- Java面向对象
- 计算机专业面试中会问到的问题
- PopupWindow
- 欢迎使用CSDN-markdown编辑器
- 1046. 划拳(15)
- python爬虫资料整理
- NFS挂载总结
- 6.Tornado RequestHandler和Application类---了解web.py文件