iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android ProgressDialog使用总结
  • 529
分享到

Android ProgressDialog使用总结

progressdialogAndroid 2022-06-06 09:06:12 529人浏览 安东尼
摘要

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。 ProgressDialog的创

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。

ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialog的静态方法Dialog.show()。


// 方式一:new Dialog 
final ProgressDialog dialog = new ProgressDialog(this); 
dialog.show(); 
// 方式二:使用静态方式创建并显示,这种进度条只能是圆形条,设置title和Message提示内容 
ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陆中"); 
// 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态 
ProgressDialog dialog3 = ProgressDialog 
.show(this, "提示", "正在登陆中", false); 
// 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean cancelable 设置是否进度条是可以取消的 
ProgressDialog dialog4 = ProgressDialog.show(this, "提示", "正在登陆中", 
false, true); 
// 方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener 
// cancelListener用于监听进度条被取消 
ProgressDialog dialog5 = ProgressDialog.show(this, "提示", "正在登陆中", true, 
true, cancelListener); 

方式五中需要一个cancelListener,代码如下;


private OnCancelListener cancelListener = new OnCancelListener() { 
@Override 
public void onCancel(DialogInterface dialog) { 
// TODO Auto-generated method stub 
Toast.makeText(MainActivity.this, "进度条被取消", Toast.LENGTH_LONG) 
.show(); 
} 
}; 

ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态

第一种方式:圆形进度条


final ProgressDialog dialog = new ProgressDialog(this); 
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条 
dialog.setCancelable(true);// 设置是否可以通过点击Back键取消 
dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条 
dialog.setIcon(R.drawable.ic_launcher);// 
// 设置提示的title的图标,默认是没有的,如果没有设置title的话只设置Icon是不会显示图标的 
dialog.setTitle("提示"); 
// dismiss监听 
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { 
@Override 
public void onDismiss(DialogInterface dialog) { 
// TODO Auto-generated method stub 
} 
}); 
// 监听Key事件被传递给dialog 
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { 
@Override 
public boolean onKey(DialogInterface dialog, int keyCode, 
KeyEvent event) { 
// TODO Auto-generated method stub 
return false; 
} 
}); 
// 监听cancel事件 
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { 
@Override 
public void onCancel(DialogInterface dialog) { 
// TODO Auto-generated method stub 
} 
}); 
//设置可点击的按钮,最多有三个(默认情况下) 
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setMessage("这是一个圆形进度条"); 
dialog.show(); 
new Thread(new Runnable() { 
@Override 
public void run() { 
// TODO Auto-generated method stub 
try { 
Thread.sleep(5000); 
// cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是 
// 调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉 
dialog.cancel(); 
// dialog.dismiss(); 
} catch (InterruptedException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
} 
}).start(); 

其中通过Thread.sleep(5000)模拟后台操作。

cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是:调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉。

第二种方式:水平进度条


// 进度条还有二级进度条的那种形式,这里就不演示了 
final ProgressDialog dialog = new ProgressDialog(this); 
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置水平进度条 
dialog.setCancelable(true);// 设置是否可以通过点击Back键取消 
dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条 
dialog.setIcon(R.drawable.ic_launcher);// 设置提示的title的图标,默认是没有的 
dialog.setTitle("提示"); 
dialog.setMax(100); 
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setMessage("这是一个水平进度条"); 
dialog.show(); 
new Thread(new Runnable() { 
@Override 
public void run() { 
// TODO Auto-generated method stub 
int i = 0; 
while (i < 100) { 
try { 
Thread.sleep(200); 
// 更新进度条的进度,可以在子线程中更新进度条进度 
dialog.incrementProgressBy(1); 
// dialog.incrementSecondaryProgressBy(10)//二级进度条更新方式 
i++; 
} catch (Exception e) { 
// TODO: handle exception 
} 
} 
// 在进度条走完时删除Dialog 
dialog.dismiss(); 
} 
}).start(); 

关于Android ProgressDialog使用总结的相关知识就给大家介绍到这里,后续还会持续更新,请持续关注编程网网站,谢谢!

您可能感兴趣的文章:实例详解Android自定义ProgressDialog进度条对话框的实现Android自定义ProgressDialog进度等待框Android ProgressBar进度条和ProgressDialog进度框的展示DEMOAndroid 自定义ProgressDialog进度条对话框用法详解Android 中通过实现线程更新Progressdialog (对话进度条)Android ProgressDialog进度条使用详解Android编程实现加载等待ProgressDialog的方法android自定义ProgressDialog加载效果Android自定义ProgressDialog加载图片Android开发之ProgressDialog进度对话框用法示例


--结束END--

本文标题: Android ProgressDialog使用总结

本文链接: https://www.lsjlt.com/news/25829.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android怎么自定义ProgressDialog使用
    要自定义ProgressDialog,可以按照以下步骤进行操作:1. 首先,创建一个新的类来扩展ProgressDialog类。例如...
    99+
    2023-08-09
    Android ProgressDialog
  • android Retrofit2+okHttp3使用总结
    使用前准备Build.gradle文件配置dependencies配置compile 'com.squareup.retrofit2:retrofit:2.0.0'compile 'com.squareup.retrofit2:conver...
    99+
    2023-05-31
    okhttp retrofit roi
  • Android ViewModel的使用总结
    目录基本使用 MainRepositoryMainViewModelMainActivityViewModel 相关问题是高频面试题。主要源于它是 MVVM 架构模式的重要组件,并且...
    99+
    2024-04-02
  • Android Notification使用方法总结
    Android Notification使用方法总结一. 基本使用1.构造notification NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(a...
    99+
    2023-05-30
    android notification roi
  • Android onCreateOptionsMenu的使用方法总结
    Android onCreateOptionsMenu的使用方法总结任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCre...
    99+
    2023-05-30
    android oncreateoptionsmenu roi
  • Android WebView的使用方法总结
     Android WebView的使用方法  Android app打开H5页一般要实现如下需求:打开指定url网页;2、点击链接可以跳转到下一页,并更新标题;3、按back键或左箭头可以返回上一页;4、当webview...
    99+
    2023-05-30
    android webview roi
  • Android TabLayout总结
    文章目录 Android TabLayout总结基本使用添加图标、隐藏下划线自定义下划线、添加分割线设置角标圆角样式自定义View+Lottile代码下载 Android TabLay...
    99+
    2023-09-04
    android TabLayout
  • Android中Glide库的使用小技巧总结
    简介在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。https://githu...
    99+
    2023-05-30
    android glide库 使用技巧
  • Android CountDownTimer案例总结
    目录一、概述二、API三、基本使用方法四、使用注意一、概述 项目中经常用到倒计时的功能,比如说限时抢购,手机获取验证码等等。而google官方也帮我们封装好了一个类:CountDow...
    99+
    2024-04-02
  • Android之 弹框总结
    一 简介 1 弹框即浮与页面之上的窗口,如键盘弹框,吐司弹框,确认弹框,下拉选择框,应用悬浮框等 2 弹框控件也很多,比如常用的Spinner,Dialog,Toast,PopWindow等,以及新增的SnackBar,DialogFrag...
    99+
    2023-09-04
    android
  • Android 布局中的android:onClick的使用方法总结
    Android 布局中的android:onClick的使用方法总结Android布局中的 android:onClick=“...”属性设置点击时从上下文中调用指定的方法。该属性值和要调用的方法名称完全一致。一般在Activity定义符合...
    99+
    2023-05-30
    android onclick roi
  • sqlite3使用总结
           OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。OS X包装的是第三版的SQLite,又称SQLite3。这套软件有几个特色:软件属于公共财(public domain),SQLite可说...
    99+
    2023-01-31
  • clipboard.js使用总结
    目录(1)介绍: (2)clipboard复印内容的方式有 (3)Function操作有两种: (4)通过属性返回复印的内容 (5)函数和属性的兼容方式 (1)介绍: clipbo...
    99+
    2024-04-02
  • BigDecimal使用总结
    对于超过16位的大型数字,需要用到Java在java.math包中提供的API类BigDecimal,而且也不是传统的+-*/,而是调用对应的方法。 1.创建对象 使用new的方式创建BigDecim...
    99+
    2023-09-03
    java BigDecimal
  • redis 使用总结
    最近一段时间与redis接触比较频繁。发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下。本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量。也可以说这篇...
    99+
    2024-04-02
  • w3m使用总结
    ...
    99+
    2023-01-31
    w3m
  • Android之 动画总结
    一 动画种类 1 动画在Android中运用也非常广泛,如点击按钮,加载框,Activity的转场等都有动画的身影 2 常用的动画有以下以下几种 逐帧动画【Frame Animation】,即顺序播放事先准备的图片 补间动画【Tween A...
    99+
    2023-09-27
    android 动画
  • Android开发中ProgressDialog简单用法示例
    本文实例讲述了Android开发中ProgressDialog简单用法。分享给大家供大家参考,具体如下:网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下:建立andro...
    99+
    2023-05-30
    android progressdialog gr
  • Android Notification的多种用法总结
    Android Notification的多种用法总结我们在用手机的时候,如果来了短信,而我们没有点击查看的话,是不是在手机的最上边的状态栏里有一个短信的小图标提示啊?你是不是也想实现这种功能呢?今天的Notification就是解决这个问...
    99+
    2023-05-31
    android notification roi
  • android 各种存储目录使用总结之Context#getExternalFilesDir
    Context类中定义了获取手机系统目录的一些api。这里做一个总结: 一、api 注释翻译 File getExternalFilesDir(@Nullable String type) @Nullablepublic abstract ...
    99+
    2023-09-02
    android java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作