[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>
目录
相关文章
|
26天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
53 1
|
8月前
|
Android开发 UED
Android 实现通知栏和进度条效果(适用于Android8.0以上)
Android 实现通知栏和进度条效果(适用于Android8.0以上)
107 0
|
4月前
|
XML API Android开发
Android 自定义View 之 圆环进度条
Android 自定义View 之 圆环进度条
|
8月前
|
Android开发
Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)
Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)
102 0
|
4月前
|
XML API Android开发
Android 自定义View 之 饼状进度条
Android 自定义View 之 饼状进度条
|
4月前
|
XML Java Android开发
Android Studio App开发中异步任务AsynTask与异步服务IntentService的讲解与实战(实现四大名著的加载进度条 附源码)
Android Studio App开发中异步任务AsynTask与异步服务IntentService的讲解与实战(实现四大名著的加载进度条 附源码)
62 0
|
5月前
|
Android开发
android进度条
android进度条
35 0
|
8月前
|
缓存 Java API
#7,Android开发 控件 ProgressBar 进度条
#7,Android开发 控件 ProgressBar 进度条
|
Android开发
Android零基础入门第51节:进度条ProgressBar
原文:Android零基础入门第51节:进度条ProgressBar    不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有APP的开发,还会经常用到一些诸如进度条、拖动条、搜索框、时间和日期选择器等组件,那么后面几期就来一起学习这些高级组件。
1589 0