热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

【问题】对于Android程序Songtaste歌曲下载器来说,已经实现了基本的下载功能了:并且已经实现了hook函数,用于及时获得对应的

【问题】

对于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#开发,还是麻烦多了。



推荐阅读
  • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • android 触屏处理流程,android触摸事件处理流程 ? FOOKWOOD「建议收藏」
    android触屏处理流程,android触摸事件处理流程?FOOKWOOD「建议收藏」最近在工作中,经常需要处理触摸事件,但是有时候会出现一些奇怪的bug,比如有时候会检测不到A ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 在C#中,使用关键字abstract来定义抽象类和抽象方法。抽象类是一种不能被实例化的类,它只提供部分实现,但可以被其他类继承并创建实例。抽象类可以用于类、方法、属性、索引器和事件。在一个类声明中使用abstract表示该类倾向于作为其他类的基类成员被标识为抽象,或者被包含在一个抽象类中,必须由其派生类实现。本文介绍了C#中抽象类和抽象方法的基础知识,并提供了一个示例代码。 ... [详细]
author-avatar
Sunlight丶丶丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有