Android--圆形进度条对话框
来源:互联网 发布:变频布林线源码 编辑:程序博客网 时间:2024/05/16 15:01
主要知识点有
1.ProgressDialog.show(this, "数据加载", "正在加载中....");显示圆形进度条,但是显示后会一直是这个界面所以要让它过一会就消失 2.不能直接使用dismiss()这样这个进度框就不会显示,因此采用线程的方式 3.让他休息一会是要加载的数据 4.当回调方法都执行完才会显示对话框,而所有回调方法是在主线程中执行,所以得在分线程中设计消失 5.不能再分线程更新UI因此不能在分线程中设置Toast那为什么可以设置对话框小时呢?我们观看dismiss源码会发现dismiss是在主线程操作的,因此这属于间接操作
如图所示:
当点击按钮后会出现如图所示界面,过几秒后又回到初始界面,并提示加载完成
xml中的简单代码
<Button android:id="@+id/btn_Progress" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="显示圆形进度ProgressDialog" android:layout_marginTop="30dp" android:onClick="showBP"/>
在主类中主要用到线程的知识点
//圆形进度条 public void showBP (View view) {//回调方法:主线程执行 final ProgressDialog dialog = ProgressDialog.show(this, "数据加载", "正在加载中...."); //模拟做一个长时间的工作 //长时间的工作不能再主线程做,得启动分线程完成 new Thread() { public void run() {//分线程 for(int i=0;i<20;i++) { //休息一会 try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //移除dialog dialog.dismiss();//方法在分线程执行,但内部使用Handler实现主线程移除dialog //不能在分线程直接更新UI //显示toast runOnUiThread(new Runnable() { @Override public void run() {//在主线程执行 Toast.makeText(DiologActivity.this,"加载完后了",0).show(); } }); //runOnUiThread()在分线程执行 /*new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start();*/ }; }.start(); }
0 0
- Android--圆形进度条对话框
- Android透明圆形进度条对话框的设置
- 进度条对话框和圆形进度条对话框
- android 自定义圆形进度条
- Android圆形进度条
- android 环形进度条 圆形
- Android:自定义圆形进度条
- android自定义圆形进度条
- Android自定义圆形进度条
- Android自定义圆形进度条
- Android 圆形进度条
- android圆形扇形进度条
- Android 自定义圆形进度条
- Android 绘制圆形进度条
- Android自定义圆形进度条
- Android自定义圆形进度条
- android圆形缓冲进度条
- Android 自定义圆形进度条
- UICollectionViewCell 3种创建方法
- spring对配置属性的读取方式configure way
- leetcode Perfect Squares
- Service基本用法
- python pexpect和argparse模块用法例子之确保一批远程机器指定一批服务在运行
- Android--圆形进度条对话框
- php学习--6文件操作
- Windbg调试程序
- TIANKENG’s restaurant
- 《Java源码分析》:LinkedHashSet
- WEBAPP“企业网站”模板用户指南
- C++的重写,重载,重定义
- 循环队列
- 【三】Deep Learning模型之:CNN卷积神经网络推导和实现