ProgressBar控件

1,常用属性和方法

style    设置进度条的风格
max    设置该进度条的最大值
progress    设置该进度条的已完成进度值
progressDrawable    自定义drawable显示
indeteminateDrawable    设置绘制不显示进度的进度条的Drawable对象
indeterminate    该属性设为true,设置进度条不精确显示进度
indeteminateDuration    设置不精确显示进度的持续时间
secondaryProgress    定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。
interpolator    设置动画速度
indeterminateBehavior    定义当进度达到最大时,不确定模式的表现;该值必须为repeatcycle,repeat表示进度从0重新开始;cycle表示进度保持当前值,并且回到0

2,style属性:

@android:style/Widget.ProgressBar.Horizontal:水平进度条
@android:style/Widget.ProgressBar.Inverse:普通大小的进度条
@android:style/Widget.ProgressBar.Large:大环形进度条
@android:style/Widget.ProgressBar.Large.Inverse:大环形进度条
@android:style/Widget.ProgressBar.Small:小环形进度条
@android:style/Widget.ProgressBar.Small.Inverse:小环形进度条

3,进度条调用

getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate):设置不确定模式下

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

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

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

    <!-- style-进度条类型   max-进度条刻度最大值 -->
    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:max="100"
        android:id="@+id/pb2"
        android:layout_width="300dp"
        android:layout_height="wrap_content"/>

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

    <!-- indeterminate进度条不显示精度 -->
    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:max="100"
        android:id="@+id/pb3"
        android:indeterminate="true"
        android:layout_width="300dp"
        android:layout_height="wrap_content"/>


 

package com.example.myprogressbar;

import static com.example.myprogressbar.R.layout.activity_main;

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;//定义进度条ID
    private ProgressBar progressBar2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(activity_main);

        progressBar = findViewById(R.id.pb);//获取进度条ID
        progressBar2 = findViewById(R.id.pb2);

    }

    //按钮应用逻辑
    public void leoClick(View view) {
        if(progressBar.getVisibility()==view.GONE){//获取进度条progressBar当前是否隐藏
            progressBar.setVisibility(view.VISIBLE);//隐藏的————按键按下就显示
        }else{
            progressBar.setVisibility(view.GONE);//没有隐藏————按键按下就隐藏
        }
    }

    public void load(View view) {
        int progress = progressBar2.getProgress();//获取进度条当前刻度
        progress+=10;//点击一下加10
        progressBar2.setProgress(progress);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值