本文实例为大家分享了Android Studio实现进度条效果的具体代码,供大家参考,具体内容如下

实验作业 要求一个进度条,进度随机

效果图

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"

android:orientation="vertical"

tools:context=".ProgressBarActivity">

android:id="@+id/pb_determinate"

android:layout_width="match_parent"

android:layout_height="wrap_content"

style="@android:style/Widget.ProgressBar.Horizontal"

android:backgroundTint="@color/purple_200"

android:progress="25"

android:max="100"

android:layout_centerVertical="true"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="ProgressBar"

android:textSize="28sp"

android:gravity="center"

android:layout_below="@+id/pb_determinate"

/>

java代码

package com.example.a18101352;

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.widget.ProgressBar;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

private ProgressBar progressBar;

private int maxProgress;

private int currentProgress = 0;

private Handler mHandler = new Handler(){

/**

* Subclasses must implement this to receive messages.

*

* @param msg

*/

@Override

public void handleMessage(@NonNull Message msg) {

super.handleMessage(msg);

switch (msg.what){

case 0:

progressBar.setProgress(currentProgress);

break;

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_progress_bar);

progressBar = findViewById(R.id.pb_determinate);

maxProgress = progressBar.getMax();

}

@Override

protected void onStart(){

super.onStart();

new Thread() {

private Random random;

@Override

public void run(){

while(true){

try {

for(int i = 0; i < maxProgress; ++i){

//间隔一秒

Thread.sleep(1000);

random = new Random();

// currentProgress += 10;

// if(currentProgress > maxProgress){

// break;

// }

//获取一个随机数给到currentProgress然后显示出来

currentProgress = random.nextInt(100);

mHandler.sendEmptyMessage(0);

}

}

catch (InterruptedException e){

e.printStackTrace();

}

}

}

}.start();

}

}

线程里的for循环可以去掉,循环是测试定时加长进度条设计的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

android studio进度条的应用,Android Studio实现进度条效果相关推荐

  1. android studio创建md,如何在Android Studio中设置*md文件打开方式

    最近在Android Studio中写一些Demo的时候,会顺便在里面创建一个.md文件用来进行Demo笔记的书写.然而Android Studio不带有markdown预览功能,所以我就琢磨如何在A ...

  2. Android 自定义View实现环形带刻度颜色渐变的进度条

    上次写了一篇Android 自定义View实现环形带刻度的进度条,这篇文章就简单了,只是在原来的基础上加一个颜色渐变. 按照惯例,我们先来看看效果图 一.概述 1.相比于上篇文章,这里我们的颜色渐变主 ...

  3. Android开发案例教程吴志祥,Android应用开发案例教程(Android Studio版)

    本书内容浅显易懂,可操作性强.全书共分9章,第1-7章详细介绍了Android Studio基础知识,包括Android UI设计.Activity与多个用户界面.多媒体播放与录制.广播与服务.数据存 ...

  4. 《Android 移动应用基础教程(Android Studio)(第2版)》【课本客观题】+【学习通2023春】【参考答案】

    文章目录 超星学习通智能终端软件开发(基于Android Studio环境)章节作业(39) 一 二 三 四 五 六 课本一 课本二 课本三 课本四 课本五 课本六(无) 课本七 课本八 课本九 课本 ...

  5. Android实战技巧之十一:Android Studio和Gradle

    2019独角兽企业重金招聘Python工程师标准>>> 经过两个多月的AS体验,我认为是时候将Android的开发环境迁移到AS上了.目前最新版本是1.0.2(大年30当天升级到1. ...

  6. 基于Android平台的记事本软件(Android Studio项目+报告+app文件)

    移动应用开发技术 期末考核报告 题   目:        基于Android平台的记事本软件             学生姓名     学生学号                           ...

  7. android开发课程表app数据库,基于Android studio 的课程表增删查改功能(基于sqlite)

    [实例简介]Android studio 用SQLite实现课程表的增删查改功能,:实现详情浏览.编辑.及新增功能.课程编号可以实现正则检查(编号规则XX00000,XX表示两位大写的字母,00000 ...

  8. Android如何实现地图定位?Android studio+百度地图API+Android6.0系统实现地图显示、地址设置、点击地图定位功能(详细)

    文章说明:本文初衷是为了记录毕设学习过程,避免忘记操作流程.该功能是毕业设计的Android软件端的功能之一,本文将从获取百度地图密钥(AK)开始,详细地对地图定位配置和相关代码进行说明,文末将附上实 ...

  9. Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)

    都知道水果公司(苹果)是己尊重用户体验著称的公司,其设计的产品人性化十足,不得不令后来者赞叹,竞相模仿.iphone的成功就是其典型的案例,做为其移动系统的死对头 Google 想要在市场上分得一杯羹 ...

最新文章

  1. 第2关:计算二叉树的深度和节点个数
  2. Java集合工具类(三)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集......
  3. oracle imp 00028,oracle中导入.dmp文件时出现IMP-00009 和IMP-00028异常提示
  4. Node.js EventEmitter
  5. SAP物料价格评估与成本计算体系
  6. golang map源码分析
  7. 虚拟机vmware的连接方式以及IP端口,协议等概念
  8. mysql循环load data_TP5框架下MySQL通过LOAD DATA INFILE批量导入数据详细操作
  9. 手淘促活那些事儿 | 智能投放算法框架助力用户增长
  10. SpringBoot 2 集成微信扫码支付
  11. Ansible(一)工作架构和原理
  12. 从编写c语言源程序到运行,c语言 源代码到可执行程序的过程
  13. 每个极客都应该知道的Linux技巧(区分开普通的Linux用户和超级极客)
  14. wifi信号强度测试软件 mac,Wifi Signal Strength for Mac(无线WiFi信号强度统计软件)
  15. 《一次失败沟通后的自我觉察》
  16. word转html制作操作手册,Word文档转换为HTML帮助文档操作手册范本.pdf
  17. 【实验技术笔记】基因沉默:siRNA/shRNA
  18. android 格林尼治标准时间的 格式转换 (String To Date) 报错 java.text.ParseException: Unparseable date
  19. 关于pandas的时间序列中的freq频率参数如何设置的官方参考说明【以date_range方法中的freq参数举例】
  20. Android 获取图片尺寸大小的方法

热门文章

  1. 在虚拟机里安装centos 6.4和centos 5.8里配置vim 7.4安装过程
  2. 计蒜客——学生成绩查找系统
  3. Alluxio2.X简要介绍
  4. f.readline()的奇妙坑点
  5. sv_labs学习笔记——sv_lab5_上(System Verilog)
  6. mysql sql 限制条数据类型_数据库的数据类型和约束条件
  7. mfc 学习的第二天
  8. 安卓nfs网络文件服务器,Linux网络文件服务器 NFS
  9. 关于网站注册账号时提示Server 对象 错误 'ASP 0177 : 800401f3'
  10. oracle共享内存段手工清理