ProgressDialog进度对话框初识
2015-10-21 09:36
381 查看
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(); } }); } }
自定义对话框就完成了。。。。
以上就是进度条对话框。。
相关文章推荐
- 设计模式之适配器模式
- 修改linux内核开机logo并居中全屏显示
- 银行卡号验证js(Luhn算法)
- jquery通过输入框实时查找列表值
- Linux 常用基础命令
- HttpClient 模拟登陆百度 2015.10.21 JAVA
- 快速排序与 二分查找
- log4j 日志限制大小 拆分成30个 不按日期分日志 按大小拆分 按日期产生
- OpenGL ES的性能范围(OpenGL ES2.0官方文档)
- Android 实现录音和监听声音大小实现话筒动画效果
- ReactiveCocoa进阶篇
- DUILIB创建菜单窗口
- C#连接ACCESS 配置web.config
- oracle copy long
- 龙应台 目送
- js判断浏览器是否支持HTML5
- Java exception handling best practices--转载
- 各种文件编码
- print输出格式总结
- Linux时间戳和标准时间的互转-zz