进度条有三种思路:
1.人为的划分某些标识,达到某个标识就是完成了百分之多少。
2.如果是上传和下载附件,可以将文件大小作为100%,上传或下载百分之多少,就是百分之多少。
3.对进度的类型所需时间进行分类。划出几种时间。属于某类,大概或平均完成时间是多少,那么就以这个时间作为100%。然后产生进度。
但,完美的进度是不可能实现的,因为你总不能先跑一遍确定时间。而且就算完全相同的条件,跑两遍的时间也不能一定相等的。所以我们只能通过各种技巧来使进度条更加自然真实。
最后,现在很多地方都不用进度条了,全部都是一个转动的圆圈等等。因为当你进度卡在10%半个小时,然后瞬间涨到99%,进度条已经就没什么意义了。
可以把操作按顺序写出来,当执行到某个操作时,让进度条这个图片移动一次,当执行下一个操作时,再移动一次!无限细化以后看起来就很连贯了
谁告诉你要先跑一遍程序的了,不用啊,java的HttpURLConnection有一个类,httpConnection.getContentLength()
例:HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
long fileLength = httpConnection.getContentLength();
system.out.println(fileLength/1024 + "k");
这样写就好了,就把文件大小获取了,然后你再根据进度条类来写就行了,自己去找进度条类的api,你想一想也知道不可能是先跑一遍下载一遍程序啊,另外进度条还是很有意义的,在用户交互方面,可以给用户很明显的提示,进度条很好啊,你载入游戏的时候不都有进度条嘛。