这次写的android的基本对话框的使用,主要是看代码其实写的时候都是一样的,看你的需求是什么,你就可以设置成什么样
activity_main.xml源码
<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: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="com.example.uidemo01.MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="commondialog"
android:layout_gravity="center"
android:text="普通对话框"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="listdialog"
android:layout_gravity="center"
android:text="列表对话框"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="singledialog"
android:layout_gravity="center"
android:text="单选对话框"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="multidialog"
android:layout_gravity="center"
android:text="多选对话框"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="progressdialog"
android:layout_gravity="center"
android:text="不确定进度条对话框"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="progressdialog_1"
android:layout_gravity="center"
android:text="确定进度条对话框"/>
</LinearLayout>
MainActivity代码
package com.example.uidemo01;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//普通对话框
public void commondialog(View v){
//1.创建Builder
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//2.给Builder设置数据
//设置标题
builder.setTitle("警告");
//是后退键失效
builder.setCancelable(false);
//设置提醒的内容
builder.setMessage("你确定要访问这个网页!");
//设置图标
builder.setIcon(android.R.drawable.alert_light_frame);
//设置确定按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
//设置中间的按钮
builder.setNeutralButton("隐藏", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
//设置取消按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
//3.使用Builder创建对话框
AlertDialog dialog = builder.create();
//4.显示对话框
dialog.show();
}
//列表对话框
public void listdialog(View v){
final String[] items =new String[] {"武汉","岳阳","长沙"};
//1.创建Builder
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//2.给Builder设置数据
builder.setTitle("请选择");
builder.setIcon(android.R.drawable.alert_dark_frame);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String item = items[which];
Toast.makeText(MainActivity.this, item, 0).show();
}
});
//3.使用Builder创建对话框
AlertDialog dialog = builder.create();
//4.显示对话框
dialog.show();
}
//单选对话框
public void singledialog(View v){
final String[] items =new String[] {"武汉","岳阳","长沙"};
//1.创建Builder
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//2.给Builder设置数据
builder.setTitle("请选择");
builder.setIcon(android.R.drawable.alert_dark_frame);
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String item = items[which];
Toast.makeText(MainActivity.this, item, 0).show();
dialog.dismiss();
}
});
//3.使用Builder创建对话框
AlertDialog dialog = builder.create();
//4.显示对话框
dialog.show();
}
//多选对话框
public void multidialog(View v){
final String[] items =new String[] {"武汉","岳阳","长沙"};
final boolean[] checkedItems = new boolean[]{true,false,false};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择");
builder.setIcon(android.R.drawable.alert_dark_frame);
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which] = isChecked;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for(int i=0; i<checkedItems.length; i++){
if(checkedItems[i]){
sb.append(items[i]).append(",");
}
}
Toast.makeText(MainActivity.this, sb.toString(), 0).show();
}
});
builder.create().show();
}
//不确定进度条对话框
public void progressdialog(View v){
new ProgressDialog(this).show(this, "正在加载", "正在努力加载中.....");
}
//确定进度条对话框
public void progressdialog_1(View v){
final ProgressDialog pd = new ProgressDialog(this);
//水平
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMax(100);
pd.setIcon(android.R.drawable.alert_dark_frame);
pd.setMessage("正在下载中....");
pd.show();
new Thread(){
public void run() {
int i = 1;
while(i<100){
pd.setProgress(i++);
//睡眠
SystemClock.sleep(200);
}
pd.dismiss();
}
}.start();
}
}