控件ProgressBar(进度条)

Posted 一只小阿大嗷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件ProgressBar(进度条)相关的知识,希望对你有一定的参考价值。

常用属性详解

1.android:max 进度条的最大值
2.android:progress 进度条已完成进度值
3.android:indeterminate 如果设置成true,则进度条不精确显示进度
4.style="?android:attr/progressBarStyleHorizontal" 水平进度条

案例

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ProgressBar
        android:id="@+id/pb1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:text="显示隐藏进度条"
        android:onClick="FinnyOnClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <ProgressBar
        android:id="@+id/pb2"
        android:max="100"
        android:progress="0"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="200dp"
        android:layout_height="wrap_content"/>

    <Button
        android:text="模拟下载+"
        android:onClick="load"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:text="模拟下载-"
        android:onClick="download"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <ProgressBar
        android:id="@+id/pb3"
        android:max="100"
        android:indeterminate="true"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="200dp"
        android:layout_height="wrap_content"/>

</LinearLayout>

MainActivity.java

package com.example.progressbar;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {

    private ProgressBar progressbar;
    private ProgressBar progressbar2;
    private ProgressBar progressbar3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressbar = findViewById(R.id.pb1);
        progressbar2 = findViewById(R.id.pb2);
        progressbar3 = findViewById(R.id.pb3);
    }

    public void FinnyOnClick(View view) {
        //如果progressbar是隐藏的
        if(progressbar.getVisibility() == View.GONE){
            //让他显示出来
            progressbar.setVisibility(View.VISIBLE);
        }else{
            //如果不是隐藏的,让他隐藏
            progressbar.setVisibility(View.GONE);
        }

        //水平进度条
        if(progressbar2.getVisibility() == View.GONE){
            progressbar2.setVisibility(View.VISIBLE);
        }else{
            progressbar2.setVisibility(View.GONE);
        }

        //水平进度条,不精确显示进度的进度条
        if(progressbar3.getVisibility() == View.GONE){
            progressbar3.setVisibility(View.VISIBLE);
        }else{
            progressbar3.setVisibility(View.GONE);
        }
    }

    public void load(View view) {
        int progress = progressbar2.getProgress();
        progress += 10;
        progressbar2.setProgress(progress);
    }

    public void download(View view) {
        int progress = progressbar2.getProgress();
        progress -= 10;
        progressbar2.setProgress(progress);
    }
}

在这里插入图片描述

以上是关于控件ProgressBar(进度条)的主要内容,如果未能解决你的问题,请参考以下文章

c#中 progressbar 进度条控件怎么开始???

控件ProgressBar(进度条)

Android控件第4类——ProgressBar

Android中的常用控件之进度条(ProgressBar)

C# 中的 progressBar1 如何使用这个进度条控件.?

winform中进度条(ProgressBar)控件使用时UI画面显示延迟的解决