ProgressDialog进度对话框
继承关系图
java.lang.Object
android.app.Dialog
android.app.AlertDialog
android.app.ProgressDialog
用android.app.ProgressDialog.ProgressDialog(Context context)构造器如下:
<span style="white-space:pre"> </span>public class MainActivity extends Activity {
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)this.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//一般有两种方法创建ProgressDialog:
//方法一//ProgressDialog.show(MainActivity.this, "提示", "正在加载中,稍等。。。");
//方法二
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("提示");
dialog.setMessage("正在加载中,稍等。。。");
dialog.show(); //显示对话框
//dialog.dismiss(); //隐藏对话框,结合线程或者消息使用
}
});
}
}
用android.app.ProgressDialog.ProgressDialog(Context context, int theme)构造器如下:
theme这个参数是可以对进度条修改样式的,有两种样式:
1:ProgressDialog.STYLE_HORIZONTAL 条形
2: ProgressDialog.STYLE_SPINNER 圆形
<span style="white-space:pre"> </span>public class MainActivity extends Activity {
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button2 = (Button)this.findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ProgressDialog.STYLE_HORIZONTAL 横条 ProgressDialog.STYLE_SPINNER圆形
//法一:ProgressDialog dialog = new ProgressDialog(MainActivity.this, ProgressDialog.STYLE_HORIZONTAL);
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("下载提示");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(40); //如果加上线程操作,这个值会变化
dialog.setCancelable(false); //设置为false表示用户不能对其进行进一步的操作,如再次点下载
dialog.show();
}
});
}
}
我们也是可以自定义一个对话框的,自己先定义一个布局Android XML File名为custom_dialog.xml(随便自己定啦)弄一个自己想要的布局。
后在src/<包>/ 下创建一个class 继承android.app.Dialog的类:
具体如下:
package com.example.me_progressdialogandroid;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomDialog extends Dialog {
private Context context;
private Dialog dialog;
public CustomDialog(Context context) {
super(context);
this.context = context;
dialog = new Dialog(context);
}
public void show() {
View view = LayoutInflater.from(context).inflate(R.layout.custom_dialog, null);
//setContentView(R.layout.custom_dialog);//加载自定义对话框的布局
dialog.setContentView(view);
dialog.setTitle("自定义的对话框");
TextView textView = (TextView) view.findViewById(R.id.text);
textView.setText("你好,自定义对话框");
textView.setTextColor(Color.BLACK);
ImageView imageView = (ImageView)view.findViewById(R.id.imageView1);
imageView.setImageResource(R.drawable.p2);
dialog.show();
}
}
在MainActivity.java中:
public class MainActivity extends Activity {
private Button button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button3 = (Button)this.findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CustomDialog dialog = new CustomDialog(MainActivity.this);
dialog.show();
}
});
}
}
自定义对话框就完成了。。。。
以上就是进度条对话框。。