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进度条课设报告,Android开发之进度条ProgressBar的示例代码
说明 ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等. 默认形式ProgressBar 默认方式下,ProgressBar显示为圆形进度,循环转圈,不显示具 ...
- android进度条已加载部分闪光,Android进度条ProgressBar的实现代码
ProgressBar进度条 当一个应用在后台执行时,前台界面不会有任何信息,这时,用户根本不知道程序是否在执行以及执行的进度等, 因此需要使用进度条来提示程序执行的进度. 而ProgressBar就 ...
- android 自定义 进度条 旋转,Android_Android ProgressBar进度条使用详解,ProgressBar进度条,分为旋转进 - phpStudy...
Android ProgressBar进度条使用详解 ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案 ...
- android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...
在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...
- Android进度条函数,Android实用笔记——使用ProgressBar实现进度条
1.ProgressBar的分类 可以精确显示进度(可以显示刻度或者精确百分比) 不可以精确显示精度(一直转,类似于一个过场动画) 2.关键属性和方法 指定ProgressBar显示风格 style= ...
- android基础 [超级详细android常用控件解析(ScollView控件,ProgressBar进度条,PopupWindow控件)]
目录 1 章节目录 2 ScollView控件 2.1 ScrollView简介 2.2 ScrollView使用 2.3 常用属性及方法 3 ProgressBar进度条 3.1 简介 3.2 常用 ...
- android 进度条边框,android用户界面-组件Widget-进度条ProgressBar
android的进度条有对话框进度条.标题进度条和水平进度条 一.对话框进度条 创建步骤 1.覆盖Activity的onCreateDialog()方法,并在其中创建对话框. 2.调用Activity ...
- android 自定义背景园,Android 自定义ProgressBar 进度条颜色和背景颜色
Android 自定义ProgressBar 进度条颜色和背景颜色 首先,在drawable目录下新建文件 personal_center_level_progress_bg.xmlandroid a ...
- android 进度条 代码,Android 进度条使用详解及示例代码
在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...
最新文章
- 华为云域名注册_关于域名购买的常识介绍,想建站的必看
- 关于Nowpaper
- Xcode 7中Static Cells自动计算高度失效的解决方法
- ASP.NET中Get和Post的用法
- sass和less的优缺点
- python爬取豆瓣电影top250_Python爬虫 - scrapy - 爬取豆瓣电影TOP250
- (9) ab测试工具安装与使用
- Nodejs微信开发
- python 矩阵类型转换_Python3 列表,数组,矩阵的相互转换的方法示例
- 网页版电脑桌面远程操控_我真的再也不买电暖器了 - 电暖器智能版
- latex 生成pdf显示行号
- 你还不知道web自动化测试是什么吧?今天让你发现新大陆
- 技术江湖--讲座笔记
- Mac 安装 idb 和 idb_companion
- 支付宝个人收款解决方案
- 2022年艺术品和古董投资策略研究报告
- Python软件编程等级考试三级——20210314
- Coding and Paper Letter(十一)
- 如何选购阿里云服务器并快速入门(Windows版本)?
- 天气相关免费数据集下载