android AlertDialog多种使用方法详解

当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用alertDialog来完成。下面来介绍常用的四种AlertDialog。

1、普通对话框

package com.example.yk.dialogtest;

import android.content.DialogInterface;

import android.support.v7.app.AlertDialog;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Toast;

/**

* AlertDialog普通对话框

*/

public class GeneralDialogActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_general_dialog);

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this)

.setTitle("操作title")//设置title

.setMessage("操作message")//设置要显示的message

.setCancelable(false)//表示点击dialog其它部分不能取消(除了“取消”,“确定”按钮)

.setPositiveButton("确定", new

DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

Toast.makeText(GeneralDialogActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();

}

}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

// dialogInterface.dismiss();

}

});

alertDialog.show();//别忘了show

}

}

2、单选对话框

package com.example.yk.dialogtest;

import android.content.DialogInterface;

import android.support.v7.app.AlertDialog;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Toast;

/**

* 单选对话框

*/

public class SingleDialogActivity extends AppCompatActivity {

private String[] items={"java","php","c"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_single_dialog);

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this)

.setTitle("提示title")

// .setMessage("提示message")//在需要设置单选对话框的情况下是不能设置message的,否则单选对话框内容会失效

.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {//checkedItem=-1表示默认不选中

@Override

public void onClick(DialogInterface dialogInterface, int i) {

Toast.makeText(SingleDialogActivity.this, "选中了"+items[i], Toast.LENGTH_SHORT).show();

}

}).setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

}

});

alertDialog.show();

}

}

3、多选对话框

package com.example.yk.dialogtest;

import android.content.DialogInterface;

import android.support.v7.app.AlertDialog;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Toast;

/**

* 多选对话框

*/

public class MultiChoiceDialogActivity extends AppCompatActivity {

private String[] items={"java","php","c"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_multi_choice_dialog);

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this)

.setTitle("提示title")

.setCancelable(false)

.setMultiChoiceItems(items, new boolean[]{false, false, false}, new DialogInterface.OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i, boolean b) {

if(b){

Toast.makeText(MultiChoiceDialogActivity.this, "选中了"+items[i], Toast.LENGTH_SHORT)

.show();

}

}

})

.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

}

});

alertDialog.show();

}

}

4、进度条对话框

package com.example.yk.dialogtest;

import android.app.ProgressDialog;

import android.os.Handler;

import android.os.Message;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

/**

* 进度条对话框

*/

public class ProgressDialogActivity extends AppCompatActivity {

private ProgressDialog progressDialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_progress_dialog);

progressDialog = new ProgressDialog(this);

progressDialog.setTitle("提示title");

progressDialog.setCancelable(true);

// progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//旋转进度条,默认风格

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//横向进度条

progressDialog.show();

}

}

以上是 android AlertDialog多种使用方法详解 的全部内容, 来源链接: utcz.com/z/333812.html

回到顶部