在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框;

实例如下:

1.效果图:

2.XML代码:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="信息提示框" /> <Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:text="弹出单选按钮框" /> <Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button2"
android:layout_below="@+id/button2"
android:text="弹出多选按钮框" /> <Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button3"
android:layout_below="@+id/button3"
android:text="弹出一组列表框" /> <Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button4"
android:layout_below="@+id/button4"
android:text="弹出进度条框" /> <Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button5"
android:layout_below="@+id/button5"
android:text="自定义布局框" /> </RelativeLayout>

3.java代码:

 package com.example.alertdilog;

 import android.app.Activity;
import android.app.Dialog;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; import android.os.Bundle; public class MainActivity extends Activity implements OnClickListener { private Button Buttton1;
private Button Buttton2;
private Button Buttton3;
private Button Buttton4;
private Button Buttton5;
private Button Buttton6; private EditText mUserNamEditText;
private EditText mPwdEditText; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); initView(); } private void initView() {
Buttton1 = (Button) this.findViewById(R.id.button1);
Buttton2 = (Button) this.findViewById(R.id.button2);
Buttton3 = (Button) this.findViewById(R.id.button3);
Buttton4 = (Button) this.findViewById(R.id.button4);
Buttton5 = (Button) this.findViewById(R.id.button5);
Buttton6 = (Button) this.findViewById(R.id.button6); Buttton1.setOnClickListener(this);
Buttton2.setOnClickListener(this);
Buttton3.setOnClickListener(this);
Buttton4.setOnClickListener(this);
Buttton5.setOnClickListener(this);
Buttton6.setOnClickListener(this);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1: // 信息提示框
AlertDialog();
break;
case R.id.button2:
AlertRadioDialog(); // 弹出单选按钮
break;
case R.id.button3:
AlertCheckBoxDialog();
break;
case R.id.button4:
AlertListDialog();
break;
case R.id.button5:
AlertProgressDialog();
break;
case R.id.button6:
AlertziDialog();
break; default:
break;
}
} private void AlertziDialog() {
// 动态加载布局生成View对象
LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);
View view = layoutInflater.inflate(R.layout.login_alert, null);
mUserNamEditText = (EditText) view.findViewById(R.id.edit_username);
mPwdEditText = (EditText) view.findViewById(R.id.edit_password); AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("登陆");
builder.setIcon(R.drawable.ic_launcher).create();
builder.setView(view);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null);
builder.show();
} private void AlertListDialog() {
// 指定下拉列表的显示数据
final String[] cities = { "广州", "上海", "北京", "香港", "澳门", "深圳", "天津",
"武汉", "兰州", "长沙", "重庆", "西安", "成都", "安徽" };
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("选择一个城市");
// 设置一个下拉的列表选择项
builder.setItems(cities, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "选择的城市为:" + cities[which],
Toast.LENGTH_SHORT).show();
}
});
builder.show();
} private void AlertRadioDialog() {
final String[] sex = { "男", "女", "保密" };
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择性别");
builder.setIcon(android.R.drawable.ic_dialog_info).create();
builder.setSingleChoiceItems(sex, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "选择的是:" + sex[which],
Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.setNegativeButton("取消", null);
builder.show();
} private void AlertCheckBoxDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择爱好");
builder.setIcon(R.drawable.ic_launcher).create();
builder.setMultiChoiceItems(new String[] { "打球", "谈朋友", "看小说", "写代码" },
null, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null);
builder.show();
} private void AlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("信息提示");
builder.setMessage("删除后不能回复,确认要删除吗?");
builder.setIcon(R.drawable.ic_launcher).create();
builder.setPositiveButton("确认", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
MainActivity.this.finish();
}
});
builder.setNegativeButton("取消", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
} private void AlertProgressDialog() {
ProgressDialog mypDialog = new ProgressDialog(MainActivity.this);
// 设置ProgressDialog 标题
mypDialog.setTitle("信息提示框");
// 设置ProgressDialog 提示信息
mypDialog.setMessage("Loading..........");
// 设置ProgressDialog 标题图标
mypDialog.setIcon(R.drawable.ic_launcher);
// 设置ProgressDialog 进度条进度
mypDialog.setProgress(59);
// 设置ProgressDialog 的进度条是否不明确
mypDialog.setIndeterminate(true);
// 设置ProgressDialog 是否可以按退回按键取消
mypDialog.setCancelable(true);
// 显示出来来
mypDialog.show();
} }

最新文章

  1. arcgis desktop 10.1 license manager无法启动问题解决
  2. arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz
  3. 剑指offer六:反转链表
  4. 使用java发送邮件
  5. cas 单点登录出现org.jasig.cas.client.util.CommonUtils.getResponseFromServer - 拒绝连接 Connection refused
  6. AHS日志收集的三种方法
  7. firefox渗透师必备的利器
  8. python学习第四天 --字符编码 与格式化及其字符串切片
  9. Repeater动态添加行
  10. javascript实现当前页导航激活
  11. 使用Docker构建持续集成与自动部署的Docker集群
  12. Integer浅谈
  13. jenkins构建后操作添加“Publish to Subversion repository”与Eclipse更新提交SVN文件冲突
  14. 抽屉效果的实现(DrawerLayout和SlidingMenu的对比)
  15. Tornado异步非阻塞的使用以及原理
  16. VIM 光标移动常用命令
  17. Android 屏蔽Power键 Home键
  18. FontAwesome 4.7.0 中完整的675个图标样式CSS参考
  19. CodeForces 569B Inventory 货物编号
  20. EF的表左连接方法Include和Join

热门文章

  1. easy-ui 使用总结
  2. 00-01.PHP 网站假设win7配置自己的IIS服务器亲自做的图文很详细 [转 - 赞 ]
  3. (笔记)Linux下查看CPU使用率的命令
  4. 嵌入式开发之hi3516---GV7601 SPI通信问题
  5. Python——Requests库的开发者接口
  6. Hadoop分布式集群部署(单namenode节点)
  7. PHP数组排序函数array_multisort()函数详解(二)
  8. 编译libjpeg
  9. 你可能不知道UED和UCD
  10. mysql日期问题