android进度条已加载部分闪光,Android进度条ProgressBar的实现代码
ProgressBar进度条
当一个应用在后台执行时,前台界面不会有任何信息,这时,用户根本不知道程序是否在执行以及执行的进度等, 因此需要使用进度条来提示程序执行的进度。
而ProgressBar就是来做这个事情的。
activity_main.xml
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.amy.processbartest.MainActivity">
android:id="@+id/progressBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
style="@android:style/Widget.ProgressBar.Horizontal" />
android:id="@+id/progressBar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge"/>
MainActivity.java
package com.amy.processbartest;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.Toast;
import static android.R.attr.id;
public class MainActivity extends AppCompatActivity {
//定义水平进度条
private ProgressBar horizonP;
//定义圆形进度条
private ProgressBar circleP;
//完成进度
private int mProcessStatus = 0;
//声明一个用于处理消息的Handler类的对象
private Handler mHandler;
/**
* 在主活动onCreate方法中,首先获得水平进度条和圆形进度条,
* 然后通过匿名内部类实例化处理消息的Handler类的对象,并重写其handlerMessage方法,
* 实现当好吃操作没有完成时更新进度,否则设置进度条不显示。
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
horizonP = (ProgressBar) findViewById(R.id.progressBar1);
circleP = (ProgressBar) findViewById(R.id.progressBar2);
mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == 0x111) {
horizonP.setProgress(mProcessStatus);//更新进度
} else {
Toast.makeText(MainActivity.this,"耗时操作已经完成",Toast.LENGTH_SHORT).show();
horizonP.setVisibility(View.GONE);
circleP.setVisibility(View.GONE);
}
}
};
//开个线程用语模拟耗时操作
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
mProcessStatus = doWork();//获取耗时操作完成的百分比
Message msg = new Message();
if (mProcessStatus<100) {
msg.what = 0x111;
mHandler.sendMessage(msg);//发送消息
} else {
msg.what = 0x110;
mHandler.sendMessage(msg);//发送消息
break;
}
}
}
//模拟一个耗时操作
private int doWork() {
mProcessStatus += Math.random()*10;//改变完成进度
try {
Thread.sleep(200);//每隔200毫秒进度改变一次
} catch (InterruptedException e) {
e.printStackTrace();
}
return mProcessStatus;//返回新的进度
}
}).start();//开启一个新的线程
}
}
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
android进度条已加载部分闪光,Android进度条ProgressBar的实现代码相关推荐
- android进度条已加载部分闪光,叮咚!运动会进度条已加载至■■■99%
原标题:叮咚!运动会进度条已加载至■■■99% 突然有一天, 小医发现自己的课程表里 多了好多"空格", 一点都不像是 医学生该有的充实的样子! 那么, 真相只有一个-- 11月5 ...
- android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...
在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...
- Android BGradualProgress 多种渐变、直角or弧角、进度条、加载条
可实现多种渐变.直角or弧角.进度条.加载条 (Various gradient, right or arc angle, progress bar and loading bar can be re ...
- Android缓冲进度条或加载进度条
缓冲进度条或加载进度条,在加载页面或者视频加载过程中,为了做到更好的UI及App功能体验交互,这些缓冲加载的等待效果是必不可少的: 下面来看一下旋转的动画效果: 那么,他们的具体源码在这里:loadi ...
- android圆形点击效果,Android 三种方式实现自定义圆形页面加载中效果的进度条
[实例简介] Android 三种方式实现自定义圆形页面加载中效果的进度条 [实例截图] [核心代码] ad376a86-a9aa-49bc-8cea-321bcff2c0c3 └── AnimRou ...
- Android进度条/等待加载——旋转小圆点效果
进度条/等待加载--旋转小圆点效果 1 效果图 2.思想 12个小圆点叠放(i=0,1,-11) 动画一:依次从0度旋转到30i度 动画二:依次从30i度旋转到360度 因为不牵扯用户交互,所以用最基 ...
- html加载swf 进度条,Flash加载外部文件创建进度条3种方法
Flash加载外部文件创建进度条3种方法 互联网 发布时间:2008-10-07 09:36:14 作者:佚名 我要评论 加载外部文件的进度条(看帮助文档整理),只适合那些不愿看帮助文档的 ...
- 缓冲进度条或加载进度条
缓冲进度条或加载进度条,在加载页面或者视频加载过程中,为了做到更好的UI及App功能体验交互,这些缓冲加载的等待效果是必不可少的: 下面来看一下旋转的动画效果:那么,他们的具体源码在这里:loadin ...
- C# PictureBox加载图片并显示进度条
以前用winform的PictureBox时没有试过加载网络的图片,刚刚看到一段代码才了解到原来还有LoadAsync这个方法,可以异步加载图片,再加上LoadProgressChanged事件也可以 ...
最新文章
- nacos 配置动态刷新_nacos配置中心修改后刷新
- 【Linux】一步一步学Linux——zipinfo命令(69)
- 博客园使用latex编辑公式
- arm-2014.05 编译三星内核错误 “not support ARM mode ‘smc 0’ ”
- C语言 const 修饰指针 - C语言零基础入门教程
- 如何修改ant-input的高度_如何利用好Solidworks零件及装配体的多种配置方法?
- 分布式系统研发初体验
- iText的一些总结
- Idea快捷键大全(Windows)
- ITIL4-foundation学习和考试心得
- 【控制】人工势场法及人工势场函数
- 快速分割多个视频,生成每个视频的m3u8
- NowCoder--Protoss and Zerg
- 12V高耐压带ovp保护1A线性锂电池充电芯片DFN封装4056芯片
- 信心在生活中起到了什么样的作用
- 线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则
- 什么是函数的副作用——理解js编程中函数的副作用
- jms(jms是什么意思的缩写)
- html5 localstorage 生命周期,cookie、localStorage和sessionStorage 三者之间的区别以及存储、获取、删除等使用方式...
- 破解Word密码保护的简单方法(转)
热门文章
- 银河麒麟龙芯v10sp1 解决qq不显示登录二维码
- 树莓派使用FlashFxp SSH 连接
- 选择恐惧症应对方法——以终为始来做选择
- Java国际化——ResourceBundle基本使用
- 浅谈VMware下安装Linux的网络设置 -- NAT
- Android实现半透明的AlertDialog
- java+springboot+ssm学生实习报告作业评分管理系统
- 《Buildozer打包实战指南》第五节 在安卓模拟器和真机上运行apk文件并查看日志
- GitHub 开源了多款字体「GitHub 热点速览 v.22.48」
- POJ-2001-Shortest Prefixes