方式一:使用Handler
public class ProgressActivity extends Activity implements Runnable { private ProgressBar progress; Handler h = new Handler(); private int max=100,current,step; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress); progress = (ProgressBar) findViewById(R.id.progress); progress.setMax(max); progress.setProgress(0); step = max/10; h.post(this); } @Override protected void onDestroy() { super.onDestroy(); } @Override public void run() { current = progress.getProgress(); progress.setProgress(current+step); h.postDelayed(this, 1000); } }
方式二:使用自定义线程
有些微不对劲
public class ProgressActivity extends Activity { private ProgressBar progress; private int max = 100, current = 0, step = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress); progress = (ProgressBar) findViewById(R.id.progress); progress.setMax(max); progress.setProgress(0); step = max / 10; new Thread(new Runnable() { int i = 1; @Override public void run() { try { while (max != progress.getProgress()) { Log.i("次数", i + ""); i++; progress.setProgress(current + step); current = progress.getProgress(); Thread.sleep(1000); } } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } @Override protected void onDestroy() { super.onDestroy(); } }
相关推荐
在Android开发中,当执行耗时操作如网络请求、大文件下载或数据库操作时,为了提升用户体验,我们通常会使用进度条对话框(ProgressDialog)来显示任务进度,告知用户当前操作的状态。这篇博客"进度条对话框:通过...
由于Android的单线程模型,直接在后台线程更新UI是不允许的,这时就需要用到Handler、Looper和Message机制来实现跨线程通信,特别是用于模拟进度条更新,让用户体验更加友好。本篇文章将深入探讨如何使用Android ...
在Android Studio中,你可以使用开发者选项中的“显示布局边界”功能来查看布局元素的位置,确保进度条正确显示。 5. **HandlerToActivity.java**: 这个文件可能是一个完整的示例代码,包含了一个Activity类,...
本Demo展示了如何在Android应用中简单地实现一个进度条显示功能,利用了线程(Thread)和Handler来更新界面。以下是这个示例的具体解析和相关知识点。 1. **进度条组件** Android提供了多种类型的进度条,包括`...
大多数UI库(如Java的Swing、Android的Handler或.NET的Dispatcher)都提供了这样的机制,以确保在正确的线程中执行UI更新。 6. **性能优化**: 在文件保存过程中,可以通过并行化处理、缓冲区管理和数据分块等技术...
在VC++编程中,下载文件并显示进度条是一项常见的需求,尤其在开发用户界面时,为用户提供实时的下载状态反馈可以提升用户体验。本程序“VC下载文件显示进度条”是针对这一需求的具体实现,它利用VC++的MFC...
在Android开发中,电池电量进度条是用户界面中常见的组件,用于显示设备当前电池状态的百分比。在本文中,我们将深入探讨如何在Android应用中实现一个自定义的"android类型电池电量进度条",以及相关的设计和实现...
ProgressDialog 是 AlertDialog 的子类,它提供了一种在执行长时间操作时与用户交互的方式,显示一个圆形或水平的进度条。它有两种模式:indeterminate(不确定)和 determinate(确定)。 2. **Indeterminate ...
在Android开发中,进度条对话框(ProgressDialog)是用户界面中的一个重要组件,它通常用于在执行耗时操作如网络请求、文件下载或数据库操作时,向用户显示一个等待界面,以提升用户体验。在这个"Android源码:...
在Android开发中,Handler消息机制是一种关键的异步通信方式,尤其在处理UI更新和线程间通信时显得尤为重要。标题“handler消息机制实现控制进度条”涉及到的是如何利用Handler来实时更新进度条(ProgressBar)的...
本资源包"安卓进度条loadingprogress相关-android加载框效果.zip"主要关注如何在Android平台上实现各种加载框效果。下面将详细介绍这个主题及其相关知识点。 1. 进度条类型: - LinearProgressDrawable:线性...
在Android开发中,进度条(ProgressBar)是一种常见的UI组件,用于显示任务的进度或等待状态。本教程将深入探讨如何在Android应用中有效地使用进度条,以提供良好的用户体验。我们将从基本概念开始,逐步讲解如何在...
总结起来,实现"Android下读取网页,显示进度条"涉及到的关键知识点有:线程的使用(如`AsyncTask`或自定义`Thread`)、`Handler`-`Looper`-`Message`的消息传递机制、网络请求(如`HttpURLConnection`或第三方库)...
本资源"安卓进度条loadingprogress相关-CoverLoading图片imageview下载进度条.rar"似乎包含了针对ImageView加载图片时显示进度条的实现方法。下面将详细讨论相关的知识点: 1. **进度条组件**:Android提供了多种...
在Android开发中,`Handler`是一个至关重要的组件,它用于在主线程中处理来自其他线程的消息,确保UI更新操作的正确执行。本项目“Android源代码:HandlerDemo”将深入探讨`Handler`机制及其在多线程环境中的应用。 ...
这个"android下载文件小例子,带进度条显示"的项目就是一个很好的学习素材,它涵盖了以下几个关键知识点: 1. **HTTP下载**:在这个示例中,开发者使用了HTTP协议来获取远程服务器上的文件。HTTP是最基础的网络通信...
SeekBar是Android中的一个进度条控件,用于显示和调整进度。在音频播放器中,我们可以利用`MediaPlayer.getCurrentPosition()`获取当前播放位置,`MediaPlayer.getDuration()`获取总时长,然后更新SeekBar的进度。 ...
本资源"安卓进度条loadingprogress相关-Android实现动态数字圆圈进度效果.rar"提供了一个特定的实现方案,即动态数字圆圈进度效果。下面将详细介绍这一实现过程及相关技术点。 1. **进度条类型**: - 在Android中...
在Android应用开发中,进度条(ProgressBar)是用户界面中不可或缺的组件,它通常用于指示某个操作的进度或状态,比如文件下载、上传或者后台计算。这个"Android 进度条源码.zip"文件可能包含了一个示例项目,用于...
6. **UI更新的线程安全**:由于Android的UI操作必须在主线程中执行,所以在异步任务的回调中,我们需要使用`runOnUiThread`或`Handler`来确保更新数字进度条的操作在正确的线程中进行。 7. **用户体验优化**:在...