android - 如何在做事时实现进度条?

标签 android progress-bar progress android-progressbar

我需要在做一些事情时设置一个循环进度条。 我已经这样做了:

progressBar = (ProgressBar) findViewById(R.id.progressBar1);

在我的 OnCreate() 然后调用 progressBar.setVisibility(View.Visible)View.Gone 做完事情后,但是progressBar 没有显示。

 progressBar.setVisibility(View.VISIBLE);
 thumbnailAux = doThings(thumbnail);
 image.setImageBitmap(thumbnailAux);
 progressBar.setVisibility(View.GONE);

doThings 方法需要几秒钟才能完成执行。 请帮忙!!

最佳答案

Android 有一个进度条的预定义类,它在一个名为 ProgressDialog 的类中。它看起来像这样:

enter image description here

您可以在 onCreate() 中添加此代码并像这样设置 progressDialog 的状态:

ProgressDialog progress = new ProgressDialog(this);

还将以下代码添加到后台线程。

private class ProgressThread extends Thread {

    private ProgressDialog progress;

    public ProgressThread(Context context, ProgressDialog progress) {
        progress.setMessage("Downloading Music :) ");
        progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        progress.setIndeterminate(true);
    }

    public void run() {
        // update progressbar here
    }
}

有关更多详细信息,您可以查看 Android API 文档 here

site有关于它的完整应用程序演示,您可能想查看一下。

关于android - 如何在做事时实现进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162419/

相关文章:

javascript - Phonegap/Cordova-从临时目录中以文本形式读取文件

Android,如何从账户管理器获取账户颜色?

iphone - Facebook iPhone SDK : show a progress bar while uploading an image

swift - 带有进度条的点对点多点连接。

Python + Tkinter Windows 7 任务栏进度

android - 在树莓派和手机之间交换数据

c - 如何在Linux控制台中显示多个进度条?

c - 显示进度 C

ios - AFNetworking 缺少 setCompletionBlock ios swift

java - 为什么 AudioRecord 在设备进入休眠状态时不录制声音,即使我使用了 WakeLock?