博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android ProgressBar手动控制开始和停止
阅读量:4623 次
发布时间:2019-06-09

本文共 1104 字,大约阅读时间需要 3 分钟。

这两天有个需求,点击按钮从SD卡解压压缩包,并读取压缩包内txt文档内容,然后在街面上显示出来。毕竟IO操作很耗时,如果文件较大会花费不少时间。所以,在处理数据的时候能给个进度就好了。我们通常的做法就是,点击按钮后弹出一个加载框或者加载进度条,等数据处理结束后,再让对话框消失。

但是现在的需求是,用一个布局,左侧显示刷新列表,右侧显示ProgressBar。那么问题来了,ProgressBar显示的很大,而且打开后就一直在转动,无法控制。那么就来解决这两个问题吧~

第一个问题:控制ProgressBar的大小和样式

首先,创建一个style样式,设置宽高和图片,具体如下:

然后,写一个xml文件progressbar_circle.xml,设置ProgressBar的转动效果。

到这里,大小固定,转动效果也有了。

第二个问题:手动控制转动的开始和停止

开始的时候,设置setIndeterminateDrawable和setProgressDrawable为定义的xml文件,即可开始转动。

结束的时候,设置setIndeterminateDrawable和setProgressDrawable为固定的图片,即可停止转动。

/** * 开始刷新动画 */public void startRefresh() { progressbar_refresh.setIndeterminateDrawable(getResources().getDrawable( R.drawable.progressbar_circle)); progressbar_refresh.setProgressDrawable(getResources().getDrawable( R.drawable.progressbar_circle)); } /** * 停止刷新动画 */ public void stopRefresh() { progressbar_refresh.setIndeterminateDrawable(getResources().getDrawable( R.drawable.ic_refresh_grey_600_24dp)); progressbar_refresh.setProgressDrawable(getResources().getDrawable( R.drawable.ic_refresh_grey_600_24dp)); }

以上。

转载于:https://www.cnblogs.com/ldq2016/p/8298105.html

你可能感兴趣的文章
练习数据库实例的启动与关闭
查看>>
Java——flush()方法
查看>>
HTML5 中fullscreen 中的几个API和fullscreen欺骗(转载)
查看>>
C++连接mysql数据库的两种方法
查看>>
OC-KVO
查看>>
java入门第四步之应用服务器的安装(Tomcat)
查看>>
python 零散记录(五) import的几种方式 序列解包 条件和循环 强调getattr内建函数...
查看>>
循环赛日程表(用来说明算法导论上的题目!!)
查看>>
web前端面试题集锦
查看>>
第一阶段冲刺第二天进度报告
查看>>
原生JS实现addClass,removeClass,toggleClass
查看>>
BZOJ 1217: [HNOI2003]消防局的设立( 贪心 )
查看>>
第二阶段冲刺03
查看>>
使用ssh和putty操控远程的linux server
查看>>
BZOJ1499: [NOI2005]瑰丽华尔兹
查看>>
1,悲剧的小学期
查看>>
从文本文件逐行读入数据
查看>>
Nios学习笔记2——流水灯实验
查看>>
过滤器
查看>>
Redis是什么?
查看>>