要用 AlertDialog , 导包: import android.support.v7.app.AlertDialog;
注意你对弹出的调用位置可能导致闪退!!!
https://blog.csdn.net/xiaoyu_93/article/details/52982657
new AlertDialog.Builder(this)
.setTitle("标题")
.setMessage("内容")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.create().show();
package com.example.alertdialog;
import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView text_01;
private Button but_01;
private Button but_02;
private Button but_03;
private Button but_04;
private Button but_05;
private Button but_06;
private Button but_07;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initListener();
}
/**
* 初始化控件
*/
private void initView(){
text_01 = (TextView) findViewById(R.id.text_01);
but_01 = (Button) findViewById(R.id.but_01);
but_02 = (Button) findViewById(R.id.but_02);
but_03 = (Button) findViewById(R.id.but_03);
but_04 = (Button) findViewById(R.id.but_04);
but_05 = (Button) findViewById(R.id.but_05);
but_06 = (Button) findViewById(R.id.but_06);
but_07 = (Button) findViewById(R.id.but_07);
}
/**
* 初始化监听
*/
private void initListener(){
but_01.setOnClickListener(ock);
but_02.setOnClickListener(ock);
but_03.setOnClickListener(ock);
but_04.setOnClickListener(ock);
but_05.setOnClickListener(ock);
but_06.setOnClickListener(ock);
but_07.setOnClickListener(ock);
}
// 监听
private OnClickListener ock = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.but_01:
showExitDialog01();
break;
case R.id.but_02:
showExitDialog02();
break;
case R.id.but_03:
showExitDialog03();
break;
case R.id.but_04:
showExitDialog04();
break;
case R.id.but_05:
showExitDialog05();
break;
case R.id.but_06:
showExitDialog06();
break;
case R.id.but_07:
showExitDialog07();
break;
default:
break;
}
}
};
// 简单消息提示框
private void showExitDialog01(){
new AlertDialog.Builder(this)
.setTitle("标题")
.setMessage("简单的消息提示框")
.setPositiveButton("确定", null)
.show();
}
// 带“是”和“否”的提示框
private void showExitDialog02(){
new AlertDialog.Builder(this)
.setTitle("带确定键的提示框")
.setMessage("确定吗")
.setPositiveButton("是", null)
.setNegativeButton("否", null)
.show();
}
// 可输入文本的提示框
private void showExitDialog03(){
final EditText edt = new EditText(this);
// 设置输入框的大小
edt.setMinLines(3);
new AlertDialog.Builder(this)
.setTitle("请输入")
.setIcon(android.R.drawable.ic_dialog_info)
.setView(edt)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
// 把输入的文字传递给text
public void onClick(DialogInterface arg0, int arg1) {
text_01.setText(edt.getText().toString());
}
})
.setNegativeButton("取消", null)
.show();
}
// 单选提示框
private void showExitDialog04(){
new AlertDialog.Builder(this)
.setTitle("请选择")
.setIcon(android.R.drawable.ic_dialog_info)
.setSingleChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, -1, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface arg0, int arg1) {
switch (arg1) {
case 0:text_01.setText("选择了一");break;
case 1:text_01.setText("选择了二");break;
case 2:text_01.setText("选择了三");break;
default: break;
}
arg0.dismiss();
}
})
.setNegativeButton("取消", null)
.show();
}
// 多选提示框
private void showExitDialog05(){
new AlertDialog.Builder(this)
.setTitle("多选框")
.setMultiChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, null, null)
.setPositiveButton("确定",null)
.setNegativeButton("取消",null)
.show();
}
// 列表对话框
private void showExitDialog06(){
new AlertDialog.Builder(this)
.setTitle("列表框")
.setItems(new String[]{"列表1","列表2","列表3","列表4","列表5"}, null)
.setNegativeButton("确定", null)
.show();
}
// 显示图片的对话框
private void showExitDialog07(){
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.hua);
new AlertDialog.Builder(this)
.setTitle("图片框")
.setView(img)
.setPositiveButton("确定", null)
.show();
}
}
<LinearLayout 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:orientation="vertical"
android:padding="20dp" >
<TextView
android:id="@+id/text_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="各种消息框的用法" />
<Button
android:id="@+id/but_01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="简单消息提示框" />
<Button
android:id="@+id/but_02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="带了确认和取消按钮" />
<Button
android:id="@+id/but_03"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="可以输入文本" />
<Button
android:id="@+id/but_04"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="单选框" />
<Button
android:id="@+id/but_05"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="多选框" />
<Button
android:id="@+id/but_06"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="列表显示框" />
<Button
android:id="@+id/but_07"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="图片显示框" />
</LinearLayout>