MLDN魔乐科技ANDROID学习笔记之【对话框】——13种对话框的实例

2多种操作按钮

编辑main.xml文件代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView 
android:id="@+id/mytext" 
android:text="北京魔乐科技软件学院"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
<Button
android:id="@+id/mybut"
android:text="删除"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout>

编辑.java文件如下
package org.lxh.demo;




import android.app.Activity;


import android.app.AlertDialog;


import android.app.Dialog;


import android.content.DialogInterface;


import android.os.Bundle;


import android.view.View;


import android.view.View.OnClickListener;


import android.widget.Button;




public class MyDialogDemo extends Activity {

private Button mybut = null ; // 定义按钮

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.main); // 调用布局管理器

this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ;// 设置事件类
}

private class OnClickListenerImpl implements OnClickListener {
@Override

public void onClick(View view) {

Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setTitle("确定删除?") // 创建标题

.setMessage("您确定要删除该条信息吗?") // 表示对话框中的内容
.setIcon(R.drawable.pic_m) // 设置LOGO

.setPositiveButton("删除", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}
}).setNeutralButton("查看详情", new DialogInterface.OnClickListener() {
@Override

public void onClick(DialogInterface dialog, int which) {

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

public void onClick(DialogInterface dialog, int which) {

}
})
.create(); // 创建了一个对话框

dialog.show() ; // 显示对话框
}

}
}

效果如下:

3退出按钮

编辑main.xml文件如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageButton
android:id="@+id/but"
android:src="@drawable/exit"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件

package org.lxh.demo;




import android.app.Activity;


import android.app.AlertDialog;


import android.app.Dialog;


import android.content.DialogInterface;


import android.os.Bundle;


import android.view.KeyEvent;


import android.view.View;


import android.view.View.OnClickListener;


import android.widget.Button;


import android.widget.ImageButton;




public class MyDialogDemo extends Activity {

private ImageButton but = null ; // 定义按钮

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.main); // 调用布局管理器

this.but = (ImageButton) super.findViewById(R.id.but) ; // 取得按钮
this.but.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类


}

private class OnClickListenerImpl implements OnClickListener {
 

@Override

public void onClick(View view) {

MyDialogDemo.this.exitDialog() ;
}

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) { // 返回键

this.exitDialog() ;

}

return false ;
}

private void exitDialog(){

Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)

.setTitle("程序退出?") // 创建标题

.setMessage("您确定要退出本程序吗?") // 表示对话框中的内容

.setIcon(R.drawable.pic_m) // 设置LOGO

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

public void onClick(DialogInterface dialog, int which) {
MyDialogDemo.this.finish() ; // 操作结束
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
}).create(); // 创建了一个对话框

dialog.show() ; // 显示对话框
}
}

效果如下



4列表对话框

b编辑main.xml文件代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/mych"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="选择水果"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件如下

package org.lxh.demo;




import android.app.Activity;


import android.app.AlertDialog;


import android.app.Dialog;


import android.content.DialogInterface;


import android.os.Bundle;


import android.view.View;


import android.view.View.OnClickListener;


import android.widget.Button;


import android.widget.TextView;




public class MyDialogDemo extends Activity {

private Button mybut = null ; // 定义按钮

private TextView mych = null ; // 定义文本

private String fruitData[] = new String[] { "苹果", "西瓜", "水蜜桃" };

@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

super.setContentView(R.layout.main); // 调用布局管理器

this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮

this.mych = (TextView) super.findViewById(R.id.mych) ; // 取得文本
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 

@Override

public void onClick(View view) {

Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setIcon(R.drawable.pic_m) 

.setTitle("请选择你喜欢吃的水果?")

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

public void onClick(DialogInterface dialog, int which) {

}
})
.setItems(MyDialogDemo.this.fruitData, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MyDialogDemo.this.mych
.setText("您选择的水果是:"
+ MyDialogDemo.this.fruitData[which]);
}
}).create() ;
dialog.show() ;
}

}


}

效果如下



5 资源文件配置选项

在values目录下新建fruit_data.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="fruit_labels">
<item>苹果</item>
<item>西瓜</item>
<item>水蜜桃</item>
</string-array>
</resources>
编辑main.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/mych"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="选择水果"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下

package org.lxh.demo;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
private TextView mych = null ; // 定义文本
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mych = (TextView) super.findViewById(R.id.mych) ; // 取得文本
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setIcon(R.drawable.pic_m) 
.setTitle("请选择你喜欢吃的水果?")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
}).setItems(R.array.fruit_labels, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MyDialogDemo.this.mych
.setText("您选择的水果是:"
+ MyDialogDemo.this
.getResources()
.getStringArray(
R.array.fruit_labels)[which]);
}
}).create() ;
dialog.show() ;
}

}
}

运行效果如下


6单选对话框

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/mych"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/mytext"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="选择水果"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下

package org.lxh.demo;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
private TextView mych = null ; // 定义文本
private TextView mytext = null ; // 定义文本
private String fruitData [] = new String[] { "苹果", "西瓜", "水蜜桃" };
private String fruitDesc [] = new String[] {
"苹果,植物类水果,多次花果,具有丰富的营养成分,有食疗、辅助治疗等功能。",
"西瓜(学名:Citrullus Lanatus,英文:Watermelon),属葫芦科,原产于非洲。",
"水蜜桃,在植物分类学上属于蔷薇科,梅属,桃亚属,为落叶小乔木。"} ;
private int chNum = 0 ; // 保存选项
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mych = (TextView) super.findViewById(R.id.mych) ; // 取得文本
this.mytext = (TextView) super.findViewById(R.id.mytext) ; // 取得文本
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setIcon(R.drawable.pic_m) 
.setTitle("请选择你喜欢吃的水果?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
MyDialogDemo.this.mych
.setText(MyDialogDemo.this.fruitData[MyDialogDemo.this.chNum]); // 设置选项的名称
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
}).setSingleChoiceItems(MyDialogDemo.this.fruitData, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MyDialogDemo.this.mytext
.setText(MyDialogDemo.this.fruitDesc[which]);
MyDialogDemo.this.chNum = which ; // 保存选项的索引
}
}).create() ;
dialog.show() ;
}

}


}

运行效果如下


7复选对话框

编辑main.xml文件 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/mych"
android:text="" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="选择水果"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下
package org.lxh.demo;




import android.app.Activity;


import android.app.AlertDialog;


import android.app.Dialog;


import android.content.DialogInterface;


import android.os.Bundle;


import android.view.View;


import android.view.View.OnClickListener;


import android.widget.Button;


import android.widget.TextView;




public class MyDialogDemo extends Activity {

private Button mybut = null ; // 定义按钮

private TextView mych = null ; // 定义文本

private String fruitData [] = new String[] { "苹果", "西瓜", "水蜜桃" };

private boolean chData[] = new boolean[] { true, true, false };

@Override 

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.main); // 调用布局管理器

this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮

this.mych = (TextView) super.findViewById(R.id.mych) ; // 取得文本
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {

Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setIcon(R.drawable.pic_m) 

.setTitle("请选择你喜欢吃的水果?")

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

public void onClick(DialogInterface dialog, int which) {
}
})

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

public void onClick(DialogInterface dialog, int which) {

}
})

.setMultiChoiceItems(MyDialogDemo.this.fruitData,
MyDialogDemo.this.chData,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
for (int x = 0; x < MyDialogDemo.this.fruitData.length; x++) {
if(x == which && isChecked) { // 当前选项被选中
MyDialogDemo.this.mych
.append(MyDialogDemo.this.fruitData[x]
+ "、");
}
}
}
})
.create();

dialog.show() ;

}

}


}

运行效果如下:

8 定制对话框

在res/layout 目录下新建login.xml 文件 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<TextView
android:text="用户名:"
android:layout_marginLeft="20dip"
android:textSize="8pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:width="60pt"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow>
<TextView
android:text="密    码:"
android:layout_marginLeft="20dip"
android:textSize="8pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:password="true"
android:width="60pt"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout> 
编辑main.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button 
android:id="@+id/mybut"
android:text="用户登录"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下
package org.lxh.demo;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
LayoutInflater factory = LayoutInflater.from(MyDialogDemo.this) ;
View myView = factory.inflate(R.layout.login, null) ;
Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setIcon(R.drawable.pic_m) 
.setTitle("用户登录")
.setPositiveButton("登录", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
}).setView(myView).create();
dialog.show() ;
}

}


}
运行结果如下:


9 日期对话框

编辑main.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="设置日期"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下
package org.lxh.demo;


import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
Dialog dialog = new DatePickerDialog(MyDialogDemo.this,new DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
TextView text = (TextView) MyDialogDemo.this.findViewById(R.id.txt) ;
text.setText("更新的日期为:" + year + "-" + monthOfYear + "-" + dayOfMonth) ;
}
},1981,8,19) ; // 默认的年、月、日
dialog.show() ; // 显示对话框
}

}


}

运行结果如下:


10时间对话框

编辑main.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button 
android:id="@+id/mybut"
android:text="设置时间"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 
编辑.java文件  代码如下:

package org.lxh.demo;


import android.app.Activity;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
Dialog dialog = new TimePickerDialog(MyDialogDemo.this,new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TextView text = (TextView) MyDialogDemo.this.findViewById(R.id.txt) ;
text.setText("时间为:" + hourOfDay + ":" + minute) ;
}
},19,20,true) ;
dialog.show() ; // 显示对话框
}

}


}
运行结果如下:



11 进度对话框

编辑main.xml文件 代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button 
android:id="@+id/mybut"
android:text="查找网络" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件

package org.lxh.demo;


import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
final ProgressDialog proDia = ProgressDialog.show(MyDialogDemo.this,
"搜索网络", "请耐心等待...");
new Thread(){
public void run(){ // 线程的主体类
try {
Thread.sleep(3000) ; // 运行三秒
} catch (Exception e) {
} finally {
proDia.dismiss() ; // 关闭对话框
}
}
}.start() ;
proDia.show() ; // 显示对话框
}

}


}
运行结果如下:



12 通过构造创建进度对话框

编辑main.xml文件 代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button 
android:id="@+id/mybut"
android:text="查找网络" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下:

package org.lxh.demo;


import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
final ProgressDialog proDia = new ProgressDialog(MyDialogDemo.this) ;
proDia.setTitle("搜索网络") ;
proDia.setMessage("请耐心等待") ;
proDia.onStart() ; // 启动进度
new Thread(){
public void run(){ // 线程的主体类
try {
Thread.sleep(3000) ; // 运行三秒
} catch (Exception e) {
} finally {
proDia.dismiss() ; // 关闭对话框
}
}
}.start() ;
proDia.show() ; // 显示对话框
}

}


}

运行结果如下:


13  水平进度条

编辑main.xml文件 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button 
android:id="@+id/mybut"
android:text="查找网络" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
</LinearLayout> 

编辑.java文件 代码如下:

package org.lxh.demo;


import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MyDialogDemo extends Activity {
private Button mybut = null ; // 定义按钮
private static final int MAX_PROGRESS = 100 ; // 最大值
@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类
}
private class OnClickListenerImpl implements OnClickListener {
 
@Override
public void onClick(View view) {
final ProgressDialog proDia = new ProgressDialog(MyDialogDemo.this) ;
proDia.setTitle("搜索网络") ;
proDia.setMessage("请耐心等待") ;
proDia.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL) ; // 水平进度条
proDia.setMax(MAX_PROGRESS) ; // 设置进度的最大值
proDia.setProgress(30) ; // 从进度30开始
proDia.setButton("后台处理", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
proDia.dismiss() ; // 关闭对话框
}
}) ;
proDia.setButton2("详细信息", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
}) ;
proDia.onStart() ; // 启动进度
new Thread(){
public void run(){ // 线程的主体类
for (int x = 0; x < MAX_PROGRESS; x++) {
try {
Thread.sleep(500); // 运行三秒
} catch (Exception e) {

proDia.incrementProgressBy(1) ;
}
proDia.dismiss() ;
}
}.start() ;
proDia.show() ; // 显示对话框
}

}


}

运行结果 如下 



你可能感兴趣的:(MLDN魔乐科技ANDROID学习笔记之【对话框】——13种对话框的实例)