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的实现代码相关推荐

  1. android进度条课设报告,Android开发之进度条ProgressBar的示例代码

    说明 ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等. 默认形式ProgressBar 默认方式下,ProgressBar显示为圆形进度,循环转圈,不显示具 ...

  2. android进度条已加载部分闪光,Android进度条ProgressBar的实现代码

    ProgressBar进度条 当一个应用在后台执行时,前台界面不会有任何信息,这时,用户根本不知道程序是否在执行以及执行的进度等, 因此需要使用进度条来提示程序执行的进度. 而ProgressBar就 ...

  3. android 自定义 进度条 旋转,Android_Android ProgressBar进度条使用详解,ProgressBar进度条,分为旋转进 - phpStudy...

    Android ProgressBar进度条使用详解 ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案 ...

  4. android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...

    在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...

  5. Android进度条函数,Android实用笔记——使用ProgressBar实现进度条

    1.ProgressBar的分类 可以精确显示进度(可以显示刻度或者精确百分比) 不可以精确显示精度(一直转,类似于一个过场动画) 2.关键属性和方法 指定ProgressBar显示风格 style= ...

  6. android基础 [超级详细android常用控件解析(ScollView控件,ProgressBar进度条,PopupWindow控件)]

    目录 1 章节目录 2 ScollView控件 2.1 ScrollView简介 2.2 ScrollView使用 2.3 常用属性及方法 3 ProgressBar进度条 3.1 简介 3.2 常用 ...

  7. android 进度条边框,android用户界面-组件Widget-进度条ProgressBar

    android的进度条有对话框进度条.标题进度条和水平进度条 一.对话框进度条 创建步骤 1.覆盖Activity的onCreateDialog()方法,并在其中创建对话框. 2.调用Activity ...

  8. android 自定义背景园,Android 自定义ProgressBar 进度条颜色和背景颜色

    Android 自定义ProgressBar 进度条颜色和背景颜色 首先,在drawable目录下新建文件 personal_center_level_progress_bg.xmlandroid a ...

  9. android 进度条 代码,Android 进度条使用详解及示例代码

    在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...

最新文章

  1. 华为云域名注册_关于域名购买的常识介绍,想建站的必看
  2. 关于Nowpaper
  3. Xcode 7中Static Cells自动计算高度失效的解决方法
  4. ASP.NET中Get和Post的用法
  5. sass和less的优缺点
  6. python爬取豆瓣电影top250_Python爬虫 - scrapy - 爬取豆瓣电影TOP250
  7. (9) ab测试工具安装与使用
  8. Nodejs微信开发
  9. python 矩阵类型转换_Python3 列表,数组,矩阵的相互转换的方法示例
  10. 网页版电脑桌面远程操控_我真的再也不买电暖器了 - 电暖器智能版
  11. latex 生成pdf显示行号
  12. 你还不知道web自动化测试是什么吧?今天让你发现新大陆
  13. 技术江湖--讲座笔记
  14. Mac 安装 idb 和 idb_companion
  15. 支付宝个人收款解决方案
  16. 2022年艺术品和古董投资策略研究报告
  17. Python软件编程等级考试三级——20210314
  18. Coding and Paper Letter(十一)
  19. 如何选购阿里云服务器并快速入门(Windows版本)?
  20. 天气相关免费数据集下载

热门文章

  1. 记录几款比较好用的jquery插件
  2. Android开发之部分字符串可实现超链接点击事件的方法
  3. 如何快速正确的安装 Ruby, Rails 运行环境
  4. oracle如何改变连接属性,怎样设置navicate连接属性
  5. 自动文本摘要(automatic text summarization)目前的研究方法分类
  6. 8.基本数据结构-顺序表和链表
  7. PYTHON1.day21
  8. 区块链不适用的若干场景
  9. 【Java每日一题】20161018
  10. [Java] 实现多线程的两种方法