标签: progress-bar

有什么方法可以制作一个进度条,当值为 0 时,它是 100%?

我正在开发一个债务跟踪应用程序,并且需要一个进度条,随着当前债务的减少,进度会增加。我能想到的唯一方法是捏造周围的数字,使进度条 MAX 设置为 0,然后将起始债务更改为负数,如下所示

ProgressBar.setMax(0);

Integer startingdebt = -1000;  // 1000$ owed
ProgressBar.setProgress(currentlyowed);  //say, -500
Run Code Online (Sandbox Code Playgroud)

所以你从-1000开始,如果你付了钱,再加500美元。我不知道这是否可行,因为我确定进度条控件的最小值已经设置为 0,所以您不能将最大值设置为相同......有没有办法做到这一点?

编辑: 感谢大家的回答,但我找到了一种更简单的方法:与他人分享,这是我的最终代码块:

    double startingamount = (this.c.getDouble(this.c.getColumnIndex(DbAdapter.KEY_STARTINGAMOUNT)));
    double currentamount = (this.c.getDouble(this.c.getColumnIndex(DbAdapter.KEY_CURRENTAMOUNT)));
    currentdebt.setText(formatter.format(currentamount));
    double progresspaid = new Double(startingamount-currentamount);
    double progresspercentage = new Double((progresspaid / startingamount)*100);
    int progresspercent = (int)progresspercentage;
    progressbar.setText(Integer.toString(progresspercent)+"%");
    progressbar.setMax(100);
    progressbar.setProgress(progresspercent);
Run Code Online (Sandbox Code Playgroud)

关键是获得一个变量,该变量从起始金额中减去当前金额,然后将其除以起始金额。

double progresspaid = new Double(startingamount-currentamount);
double progresspercentage = new Double((progresspaid / startingamount)*100);
Run Code Online (Sandbox Code Playgroud)

再次感谢,我真的很感谢人们帮助我学习 Java 和 android 开发,我是一名 VB.net 开发人员,所以其中一些对我来说仍然陌生。

reverse android progress-bar

2
推荐指数
1
解决办法
3516
查看次数

C#在单独的线程中填写进度条

我有一个进度条,并希望使用一个单独的线程填充它,因为主线程在循环中被暂停几秒钟.我正在使用计时器,以便进度条在一定时间内填满.

线程创建:

private void PlayButton_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            int playTime = getPlayTime();
            int progressInterval = playTime / 100;
            Thread progressThread = new Thread(barfiller=>fillBar(progressInterval));
            progressThread.Start();

            //Loops through the collection and plays each note one after the other
            foreach (MusicNote music in this.staff.Notes)
            {
                music.Play(music.Dur);
                Thread.Sleep(music.getInterval(music.Dur));
            }
            progressThread.Abort();
        }
Run Code Online (Sandbox Code Playgroud)

按原样,进度条没有任何反应,但是如果我在主线程中调用fillbar(),它就可以工作但是在for循环完成之后填充它,而不是在for循环之前/期间,即使我在之前调用fillbar()环.

线程方法:

private void fillBar(int progressInterval)
        {
            progressTimer = new System.Windows.Forms.Timer();
            progressTimer.Tick += new EventHandler(clockTick);
            progressTimer.Interval = progressInterval; //How fast every percentage point of completion needs to be added …
Run Code Online (Sandbox Code Playgroud)

c# for-loop winforms progress-bar

2
推荐指数
1
解决办法
5956
查看次数

如何在散列文件时监控状态?

我正在构建一个小应用程序,用于计算从任何给定文件到多种类型的散列算法的散列.

为简单起见,我将只关注一个处理器密集的算法,即使文件大约为15mb,计算哈希大约需要半分钟.

我正在使用BackgroundWorker运行计算(我不确定这是否是一种正确的计算方法,但我只是在尝试).

现在,我希望有一个进度条,它将显示哈希值,但我不知道如何获得所需的最大值以及放置DoStep方法的位置.

有任何想法吗?

我的代码:

private void btnBrowse_Click(object sender, EventArgs e)
{
    ofdBrowse.Filter = "All Files|*.*";
    ofdBrowse.Title = "Open file.";

    if (ofdBrowse.ShowDialog() == DialogResult.OK)
    {
        txtPath.Text = ofdBrowse.FileName;

        bwWorker.RunWorkerAsync();
    }
}

private void bwWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
    t5 = hash.HashSHA512(txtPath.Text);
}

void bwWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    txtSHA512.Text = t5;
}
Run Code Online (Sandbox Code Playgroud)

c# status backgroundworker progress-bar

2
推荐指数
1
解决办法
907
查看次数

如何在UIWebView中指示网页加载进度?

可能重复:
如何在加载UIWebView时使用UIProgressView?

在我的应用程序中,我有一个UIViewController,其中包含UIWebView和工具栏作为子视图.工具栏有一个UITextField用于地址.加载页面时,地址字段应指示加载外部链接时网页的加载进度,如Safari的地址栏或iOS的Facebook应用程序.

我面临的问题是我无法找到一种方法来显示加载时页面的进度,使地址字段(UIText字段)填充颜色.

有没有办法做到这一点或已经为此做出的组件?

address-bar uiwebview ios progress-bar

2
推荐指数
1
解决办法
3306
查看次数

Java Web 应用程序:监控进度

很多时候,java Web 应用程序中的 http servlet 会调用一些长时间运行的进程。一个典型的例子是,将 100 个 mp3 文件转换为 flak 格式(只是一个随机示例)。http 连接将是活动的,但由于该过程需要很长时间,我们可以构建一些进度条显示在网页上(最好是 uisng ajax),指示任务的进度。这应该是什么设计模式?比如说,Servlet 的 post 方法会调用实际的长期进程,而 Servlet 的 get 方法会调用进度监听器?

java web-applications progress-bar jakarta-ee

2
推荐指数
1
解决办法
2551
查看次数

asynctask中的ProgressBar未在上传时显示

有人能告诉我,为什么在上传图片时没有显示进度条.我从我的旧项目中复制了asynctask结构.在我的旧项目中,我使用asynctask从Web服务器下载图片,并在下载时显示进度条.这是我的代码:

public class PreviewPostActivity extends Activity {

ImageView imageView;

TextView tvComment;
Button submit;
MyLocationListener locationListener;
List<NameValuePair> list = new ArrayList<NameValuePair>();
private final String url = "***"; //Url of php script
ProgressDialog pDialog;
String responseMessage="";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.preview_post);

    Intent intent = this.getIntent();
    imageView = (ImageView)findViewById(R.id.imgPerview);
    tvComment = (TextView)findViewById(R.id.txtPreviewComment);
    submit = (Button)findViewById(R.id.btnPreviewSubmit);

    Bitmap image = (Bitmap)intent.getParcelableExtra("picture");
    String comment = intent.getStringExtra("comment");
    locationListener = (MyLocationListener)intent.getSerializableExtra("location");
    String imagePath = intent.getStringExtra("imagePath");
    String date = intent.getStringExtra("date");

    imageView.setImageBitmap(image);
    tvComment.setText(comment);

    //tvComment.append("\n"+locationListener.latitude + "\n"+locationListener.longitude);

    list.add(new …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask progress-bar

2
推荐指数
1
解决办法
5001
查看次数

在表单加载上使用进度条

对不起,我的英语不好

我正在尝试在C#中设计一个Win Form,它将在加载时从数据库中获取一些数据

我想使用进度条显示阅读数据进度

我试过这个代码(以及其他许多代码)

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    this.Show();

    progressBar1.Value = 10;
    int n;

    n = 50;//number of records in DB ,
    double progress = 0;
    double progstep = 25 / n;
    for (int i = 1; i <= n; i++)
    {
        //getting 
        if (progress <= 100)
            progressBar1.Value = (int)progress;
    }

    progressBar1.Value = 35;

    n = 100;//number of records in DB for another data reading from DB ,
    progress = 35;
    progstep = 65 / n; …
Run Code Online (Sandbox Code Playgroud)

c# winforms progress-bar

2
推荐指数
1
解决办法
1万
查看次数

如何摆脱使用bootstrap创建的进度条中的差距

我使用bootstrap网站上的示例代码创建了一个进度条.我在进度条的开头有一个间隙,我无法将其删除.我已附上图片以显示它的外观.进度条在trart处有间隙

这是代码,

    <div class = "form-group">
        <div class = "col-xs-12">
            <h4>In Progress</h4>
        </div>
        <div class="progress progress-striped active col-xs-12">
          <div class="progress-bar col-xs-12"  role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%; margin-left: 0; margin-right: 0; padding: 0px 0px 0px 0px">
            <span class="sr-only">45% Complete</span>
          </div>
        </div>
        <div class = "col-xs-12">
            <button class = "btn btn-danger col-xs-6 pull-right">Stop</button>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

css progress twitter-bootstrap progress-bar twitter-bootstrap-3

2
推荐指数
1
解决办法
607
查看次数

并行合并进度条和进程

我在将要并行运行的过程与进度条的创建结合起来时遇到了问题。

我的流程代码是:

pred_pnn <- function(x, nn){
  xlst <- split(x, 1:nrow(x))
  pred <- foreach(i = xlst,.packages = c('tcltk', 'foreach'), .combine = rbind) 
  %dopar% 
{ mypb <- tkProgressBar(title = "R progress bar", label = "",
                        min = 0, max = max(jSeq), initial = 0, width = 300)
  foreach(j = jSeq) %do% {Sys.sleep(.1)
  setTkProgressBar(mypb, j, title = "pb", label = NULL)
  }  
  library(pnn)
 data.frame(prob = guess(nn, as.matrix(i))$probabilities[1], row.names = NULL)
}
}
Run Code Online (Sandbox Code Playgroud)

我结合了我的代码和来自这里的代码

但没有编译。我收到语法错误,但找不到。

我试过这个其他代码:

pred_pnn <- function(x, nn){
  xlst <- …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r function progress-bar

2
推荐指数
1
解决办法
1912
查看次数

WPF数据绑定ProgressBar

我正在制作WebClient用于下载文件的WPF应用程序。我想ProgressPercentageProgressBar控制器中显示。我在WebClient用于下载文件的类中有一个方法。我的问题是如何将绑定ProgressBare.ProgressPercentage

类中的方法(DownloadFile):

public async Task DownloadProtocol(string address, string location)
{

        Uri Uri = new Uri(address);
        using (WebClient client = new WebClient())
        {
            //client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
            //client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgress);
            client.DownloadProgressChanged += (o, e) =>
            {
                Console.WriteLine(e.BytesReceived + " " + e.ProgressPercentage);
                //ProgressBar = e.ProgressPercentage???
            };

            client.DownloadFileCompleted += (o, e) =>
            {
                if (e.Cancelled == true)
                {
                    Console.WriteLine("Download has been canceled.");
                }
                else
                {

                    Console.WriteLine("Download completed!");
                }

            }; …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf progress-bar

2
推荐指数
1
解决办法
2514
查看次数