热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Android]ProgressBar进度条

ProgressBarProgressBar是进度条控件,ProgressBar的应用场景很多,比如用户登录时,后台发送请求,


ProgressBar



ProgressBar是进度条控件,ProgressBar的应用场景很多,比如用户登录时,后台发送请求,以及进行等待服务器返回信息等一些比较耗时的操作。这个时候如果没有提示,用户可能会以为程序崩溃了或手机死机了,会大大降低用户体验,所有在需要进行耗时操作的地方,添加上进度条,让用户知道当前的程序正在执行,也可以直观地告诉用户当前任务的执行进度。

ProgressBar控件的使用



在布局文件中添加控件

android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

我们可以通过设置其style属性更改ProgressBar控件的样式(如条形,环形)


 ProgressBar控件的属性



ProgressBar控件在使用过程中,经常会使用到以下属性


属性名称描述
max进度条最大值
progress进度条已完成进度值
indeterminate如果设置成true,则进度条不精确显示进度
indeterminateDrawable如果不显示进度的进度条的Drawable对象
indeterminateDuration设置不精确显示进度的持续条件
progressDrawable设置轨道对应的Drawable对象

系统提供的进度条





android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmall"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge"/>

style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:progress="18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
/>

ProgressBar控件的visibility属性使用



在使用ProgressBar控件时,我们经常要控制它的消失和显示,这时可以设置visibility属性。visibility属性的值如下:

visible:表示控件可见。

invisible:表示控件不可见,但会占用原来的位置和大小。

gone:表示控件不可见,但不会占用原来的位置和大小。

val progressBar:ProgressBar=findViewById(R.id.progressBar)
if(progressBar.visibility== View.VISIBLE){
//设置为可见的状态
progressBar.visibility=View.GONE
}else{
//设置为不可见的状态,并且不占用任何空间位置
progressBar.visibility=View.VISIBLE
}

ProgressBar自定义菊花加载



android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/rotate"
/>


android:drawable="@drawable/pg"
android:pivotX="50%"
android:pivotY="50%"
android:fromDegrees="0"
android:toDegrees="360">




推荐阅读
  • delphi控件大全
    本文章已收录于:delphi控件查询:http:www.torry.nethttp:www.jrsoftware.orgTb97最有名的工具条(ToolBar) ... [详细]
  • mongodb复制集部署文档 ... [详细]
  • 作业迁移
    背景:数据库服务器更换,1、数据库迁移(BACKUPRESTORE);2、数据库登录名用户迁移(注意孤立用户);3、作业迁移数据库迁移,备份数据库、拷贝备份文件到新服务器,还原数据 ... [详细]
  • 一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说 ... [详细]
  • jdk安装与环境变量配置,看这一篇就够了
    文章目录场景jdk下载安装如何环境变量的配置总结场景在做java开发或者android开发,经常会碰到jdk安装与环境变量的配置,每次配置的时候,经常需要去查看一下,而且偶尔还会出 ... [详细]
  • hibernate映射组件映射
    在Hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid(对象标识符),compo ... [详细]
  • 如何理解MyBatis动态SQL
    本篇内容主要讲解“如何理解MyBatis动态SQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解M ... [详细]
  • 一、在androidStudio中实现tabs比较简单,新建项目就可以选择tabs模板进行创建,默认实现tabs功能:直接运行项目就可以看到效果:可以说非常简单,但是我们在实际开发 ... [详细]
  • apk简单介绍APK的组成apk安装流程app的启动过程apk打包流程AIDLAIDL介绍为什么要设计这门语言它有哪些语法?默认支持的数据类型包括什么是apk打包流程 ... [详细]
  • 突然觉得服务器ssh密码登录总是浪费一定量的时间,就想试试用sshKey进行登录。生成服务器sshkey和本地sshkey$ssh-keygen在服务器上生成一个authorize ... [详细]
  • crossorigin注解添加了解决不了跨域问题_CORS与@CrossOrigin详解
    1、跨域的基本概念a、跨域的解释要了解跨域,首先需要知晓浏览器的同源策略,简单的说就是两个请求协议、端口、主机都相同,则两个请求具有相同的 ... [详细]
  • JNI技术实践小结转自http:sett ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 技术点:1、通过已知的网页路径获得流2、把流转换成字节数组3、把字节数组转换成String字符串显示在TextView控件中一、获得流publicstaticSt ... [详细]
  • ASP.NET Core WebAPI 开发新建WebAPI项目  转
    转 http:www.cnblogs.comlinezerop5497472.htmlASP.NETCoreWebAPI开发-新建WebAPI项目ASP.NETCoreWebAPI ... [详细]
author-avatar
mobiledu2502852915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有