java安卓有进度条吗,【已解决】给Android程序添加进度条(ProgressBar)

【问题】

对于Android程序

Songtaste歌曲下载器

来说,已经实现了基本的下载功能了:

并且已经实现了hook函数,用于及时获得对应的下载进度:

现在接着去实现,添加对应的进度条,及时显示下载的进度。

1.看到了,本身的Graphical Layout中,就有对应的进度条:

08c568f7e36620199c4ff4aed9c31a82.png

所以手动拖动一个进去。

2.发现默认是Normal的,所以又去掉,换成对应的Horizontal的:

4c886f2faef65c8d686b03d8805bdfd0.png

3.然后就是想办法,如何和代码关联起来了。

参考:

去添加配置:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center" >

android:id="@+id/pgbDownload"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:max="100"

android:progress="0"

android:layout_gravity="center_vertical"

/>

以及添加代码:int percent = (int)((currentSize * 100) / totalSize);

pgbDownload = (ProgressBar) findViewById(R.id.pgbDownload);

pgbDownload.setProgress(percent);

结果发现没效果,虽然设置了值了,但是没显示。

4.还是去看官网解释:

结果官网中代码,貌似也是直接设置setProgress就可以了的。

后来参考:

才注意到,自己上述的findViewById,是放在每次调用的地方了。

应该放到初始化才对。。。

5.但是,结果还是无法实现即时更新,虽然调试都确保了,的确是每次进度更新,会调用到setProgress的。

关于进度条不更新,而只能在最后突然更新到100%的问题,详见:

6.后来又折腾:

最后终于可以正常,添加了进度条,可以正常更新:

1d8c5e6d0e65ff29b96e447ef0166e0d.png

更新完毕最后,可以提示下载完毕:

6ba8f3293ac1f09c9ffe05c97e8e4468.png

【总结】

总的来说,Android下面的开发,还是比较麻烦的。很多常见的控件,都不能完整的封装,都还是需要另外注意很多事情,才能正常工作的。

至少对于VS2010中的C#开发,还是麻烦多了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值