Android学习笔记35——ProgressBar进度控件详解

前言

ProgressBar是一个常见的用户交互控件,比如下载的进度条、加载进度条等等。

ProgressBar的属性

style="?android:attr/progressBarStyleHorizontal"    水平进度条(可以显示刻度,常用)

style="?android:attr/progressBarStyleSmall"     小进度条

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

style="?android:attr/progressBarStyleInverse"    默认进度条,不设置样式默认显示这种

style="?android:attr/progressBarStyleLargeInverse"     不断跳跃、旋转动画的大进度条

style="?android:attr/progressBarStyleSmallInverse"      不断跳跃、旋转动画的小进度条

android:max="100"    设置进度条最大值,一般设置100

android:progress="30"   设置第一进度值

android:secondaryProgress="50"   设置第二进度值

ndroid:visibility="gone"     设置是否显示,默认显示

ProgressBar的实例

1.xml文件




    

2.Activity里面的代码

package com.yb.testdemo;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;

@SuppressLint("Registered")
public class ProgressBarActivity extends AppCompatActivity {

    private Button btnCircular,btnLoad;

    private ProgressBar progressBarCircular,progressBarLoad;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progressbar);
        btnCircular = findViewById(R.id.btn_circular);
        btnLoad = findViewById(R.id.btn_load);
        progressBarCircular = findViewById(R.id.progress_circular);
        progressBarLoad = findViewById(R.id.progress_load);
        // 圆形进度条
        btnCircular.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (progressBarCircular.getVisibility() == View.GONE){
                    progressBarCircular.setVisibility(View.VISIBLE);
                }else {
                    progressBarCircular.setVisibility(View.GONE);
                }
            }
        });
        // 加载进度条
        btnLoad.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int progress = progressBarLoad.getProgress();
                progress = progress + 10;
                progressBarLoad.setProgress(progress);
            }
        });
    }
}

3.实现的效果
Android学习笔记35——ProgressBar进度控件详解_第1张图片

ProgressBar开源库的推荐

圆形进度条 https://github.com/MyLifeMyTravel/CircleProgress
SaleProgressView-仿淘宝 淘抢购进度条 https://github.com/zhlucky/SaleProgressView
双向选择的进度条 https://github.com/yujinzhao123/DoubleHeadedDragonBar
等级进度条 https://github.com/shonnybing/SpeedProgressBar

你可能感兴趣的:(Android学习笔记35——ProgressBar进度控件详解)