栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

[Android ] 进度条组件ProgressBar

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Android ] 进度条组件ProgressBar

ProgressBar(进度条),通常用于向用户显示某个耗时操作完成的百分比。因此它需要动态地显示进度,从而避免长时间地执行某个耗时的操作,而让用户感觉程序失去了响应,从而提高界面的友好性。

1.ProgressBar的属性
  • android:animationResolution:超时的动画帧之间的毫秒 ;必须是一个整数值,如“100”。
  • android:indeterminate:是否允许使用不确定模式,在不确定模式下,进度条动画无限循环
  • android:indeterminateBehavior:定义当进度达到最大时,不确定模式的表现;该值必须为repeat或者cycle,repeat表示进度从0重新开始;cycle表示进度保持当前值,并且回到0
  • android:indeterminateDrawable:定义不确定模式是否可拉
  • android:visibility:设置是否显示,默认显示。具体值有visible、invisible和gone。后台设置时使用progressBar.setVisibility(View.VISIBLE)。visible 可见即显示,invisible 不可见、占位置 , gone不可见、不占位置,即控件隐藏。
  • android:indeterminateDuration:设置不精确显示进度的持续时间
  • android:max:定义进度的最大值
  • android:progress:设置进度的默认值,值介于0到max之间
  • android:secondaryProgress:定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。
2.ProgressBar的常用方法
  • public ProgressBar(Context context): 创建一个ProgressBar示例
  • public synchronized int getMax (): 返回这个进度条的范围上限
  • public synchronized int getProgress():返回进度
  • public synchronized int getSecondaryProgress():返回次要进度
  • public final synchronized void incrementProgressBy(int diff):指定增加的进度
  • public synchronized boolean isIndeterminate():指示进度条是否为不确定模式
  • public synchronized void setIndeterminate(boolean indeterminate):设置不确定模式
  • public void setVisibility(int v):设置该进度条是否可视
  • public synchronized void setMax(int max):设置这个进度条的范围的上限
  • public synchronized void setProgress(int progress):设置进度
3.运行图

4.代码 (1) activity_main.xml



    
    

(2)MainActivity.java
package com.example.progressdialog;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {
    private ProgressBar progressBar1,progressBar2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar1=findViewById(R.id.progressBar1);
        progressBar2=findViewById(R.id.progressBar2);

        Thread thread=new Thread(){
            int count=0;
            @Override
            public void run() {
                try{
                    while(count
                        progressBar1.setProgress(count++);
                        Thread.sleep(150);
                    }
                }catch(InterruptedException e){

                }

            }
        };
        thread.start();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901538.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号