微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

控件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);
    }
}

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐