Android 进度条Demo

Android 进度条Demo在 Android 应用开发中 ProgressBar 运行进度条 是较常用到得组件 Android 提供了两种样式来分别表示不同状态下显示得进度条 分别为 圆形进度条是条形进度条 默认进度条是圆形 可以通过 Style 属性来指定系统进度条的大小 nbsp nbsp 大圆形进度条 style android attr progressBarS 大圆形进度条

在Android 应用开发中,ProgressBar (运行进度条)是较常用到得组件,Android 提供了两种样式来分别表示不同状态下显示得进度条,分别为:圆形进度条是条形进度条。

默认进度条是圆形,可以通过Style 属性来指定系统进度条的大小:

 

 

大圆形进度条: 
style="?android:attr/progressBarStyleLarge"
大圆形进度条: 
style="?android:attr/progressBarStyleSmall"

长条形进度条:

 

 

style="?android:attr/progressBarStyleHorizontal"

以下是实例,实现长条进度条功能。

 

1.以下为xml布局文件主要代码

 

 
   
   

2.以下为 java 逻辑代码:

 

 

package com.example.kedongyu.progressbar; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; public class MainActivity extends AppCompatActivity implements Runnable { private Handler handler=new Handler(); private android.widget.ProgressBar pb; private boolean b; private Button button; ProgressBar p; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pb=(android.widget.ProgressBar)findViewById(R.id.progressBar); button=(Button)findViewById(R.id.button); p=new ProgressBar(pb); new Thread(this).start(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(MainActivity.this).start(); } }); int current=pb.getProgress(); //当前进度条 int currentMax=pb.getMax(); //最大进度条 int secCurrent=pb.getSecondaryProgress(); //底层进度条 } @Override public void run(){ p.run(); } class ProgressBar{ public android.widget.ProgressBar pb; public boolean state; public ProgressBar(android.widget.ProgressBar p){ pb=p; state=false; } public void run(){ if(state) { } else{ state=true; ProgressBar(); state=false; } } public void ProgressBar(){ int current=0; int secCurrent=20; pb.setProgress(current); pb.setSecondaryProgress(secCurrent); b=false; while(true){ if(b==false) { if(current>=100){ b=true; } else{ pb.setProgress(current++); pb.setSecondaryProgress(secCurrent++); } } else { break; } try{ Thread.sleep(50); } catch (InterruptedException ie) { ie.printStackTrace(); Log.v("error","线程错误!"); } } } } } 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222634.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:19
下一篇 2026年3月17日 下午3:20


相关推荐

  • Q4_K_M 和 Q4_K_S

    Q4_K_M 和 Q4_K_S

    2026年3月17日
    3
  • Linux安装JDK

    Linux安装JDKLinux安装JDK

    2022年4月22日
    40
  • Android 开机动画源码分析

    Android 开机动画源码分析Android系统在启动SystemServer进程时,通过两个阶段来启动系统所有服务,在第一阶段启动本地服务,如SurfaceFlinger,SensorService等,在第二阶段则启动一系列的Java服务。开机动画是在什么时候启动的呢?通过查看源码,Android开机动画是在启动SurfaceFlinger服务时启动的。SystemServer的main函数首先调用init1来启动本地服务,

    2022年5月15日
    37
  • R安装与卸载、RStudio安装

    R安装与卸载、RStudio安装R及RStudio安装、R卸载R下载R安装Rstudio下载RStudio安装R卸载RStudio只是辅助使用R进行编辑的工具,所以RStudio的正常使用需以R程序为基础,安装过R的可以跳过前两步R下载官网点击downloadR。点击选择清华大学的镜像地址进入:R安装任意选择一个(Ri386为32位的,Rx64为64位的)R安装完成Rstudio下载官网,点链接自行下载下载慢的令人发指链接:https://pan.baidu.com/s/1

    2022年6月27日
    66
  • 彻底理解vue的钩子函数,vue的生命周期理解,什么是vue的生命周期,钩子函数

    官方图(官方的图大家总是理解不了):使用vue框架,需要在合适的时机做合适的事情,了解了vue对象的生命周期和钩子函数,才能知道,哪些事情应该咋哪个函数里做。一、vue的生命周期的理解生命周期用人举例说明:生命周期就是一个人的一生,此处我需要说的没有人情一点(哈哈)。从人的出生,到成长,到工作,到死亡,就是人的一生,也叫一个人的生命周期。2….

    2022年4月6日
    43
  • django自定义用户认证_用户自定义的类

    django自定义用户认证_用户自定义的类前言如果我们不用使用drf那套认证规则,我们想自定义认证类,那么我们首先要知道,drf本身是如何定义认证规则的,也就是要查看它的源码是如何写的源码分析源码的入口在APIView.py文件下的di

    2022年7月30日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号