[Android]ProgressBar进度条

简介: [Android]ProgressBar进度条

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对象

系统提供的进度条


<!--系统提供的圆形进度条,依次是小,中,大 -->
    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleSmall"/>
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       />
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleLarge"/>
    <!--系统提供的水平进度条-->
    <ProgressBar
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:progress="18"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    <ProgressBar
        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自定义菊花加载


<ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminateDrawable="@drawable/rotate"
       />
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/pg"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="0"
    android:toDegrees="360">
</animated-rotate>
目录
相关文章
|
6月前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
124 1
|
6月前
|
Android开发
How to change android indeterminate ProgressBar co
How to change android indeterminate ProgressBar co
34 4
|
5月前
|
Java API Android开发
19. 【Android教程】进度条 ProgressBar
19. 【Android教程】进度条 ProgressBar
148 4
|
6月前
|
XML API Android开发
Android 自定义View 之 圆环进度条
Android 自定义View 之 圆环进度条
110 0
|
6月前
|
XML Java Android开发
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
678 1
|
6月前
|
XML API Android开发
Android 自定义View 之 饼状进度条
Android 自定义View 之 饼状进度条
|
6月前
|
XML Java Android开发
Android Studio App开发中异步任务AsynTask与异步服务IntentService的讲解与实战(实现四大名著的加载进度条 附源码)
Android Studio App开发中异步任务AsynTask与异步服务IntentService的讲解与实战(实现四大名著的加载进度条 附源码)
252 0
|
Android开发
android进度条
android进度条
55 0
|
缓存 Java API
#7,Android开发 控件 ProgressBar 进度条
#7,Android开发 控件 ProgressBar 进度条