您的位置:首页 > 其它

ProgressDialog进度对话框初识

2015-10-21 09:36 337 查看

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();
}
});

}

}


自定义对话框就完成了。。。。

以上就是进度条对话框。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: