Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 213|回复: 0

[默认分类] Android 控件之ProgressBar进度条

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-20 13:35:46 | 显示全部楼层 |阅读模式
    ProgressBar是Android的进度条。体验效果

    源码下载
    下面详细介绍ProgressBar
    一、说明
      在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。
    二、XML重要属性
        android:progressBarStyle:默认进度条样式
        android:progressBarStyleHorizontal:水平样式
      
    三、重要方法
        getMax():返回这个进度条的范围的上限
        getProgress():返回进度
        getSecondaryProgress():返回次要进度
        incrementProgressBy(int diff):指定增加的进度
        isIndeterminate():指示进度条是否在不确定模式下
        setIndeterminate(boolean indeterminate):设置不确定模式下
        setVisibility(int v):设置该进度条是否可视
    四、重要事件
        onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件
    五、实例
    1.布局文件
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ProgressBar android:id="@+id/progress_horizontal"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="200dip"
            android:layout_height="wrap_content"
            android:max="100"
            android:progress="50"
            android:secondaryProgress="75" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="默认进度条" />         
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button android:id="@+id/decrease"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="减少" />
            <Button android:id="@+id/increase"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="增加" />
        </LinearLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="自定义进度条" />         
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button android:id="@+id/decrease_secondary"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第二减少" />
            <Button android:id="@+id/increase_secondary"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第二增加" />
        </LinearLayout>
    </LinearLayout>
      
    2.java代码
    package wjq.WidgetDemo;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.widget.Button;
    import android.widget.ProgressBar;
    public class ProgressBarDemo extends Activity {
    /* (non-Javadoc)
      * @see android.app.Activity#onCreate(android.os.Bundle)
      */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      
       requestWindowFeature(Window.FEATURE_PROGRESS);
             setContentView(R.layout.probarpage);
             setProgressBarVisibility(true);
             
             final ProgressBar progreSSHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);
             setProgress(progressHorizontal.getProgress() * 100);
             setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);
             
             Button button = (Button) findViewById(R.id.increase);
             button.setOnClickListener(new Button.OnClickListener() {
                 public void onClick(View v) {
                     progressHorizontal.incrementProgressBy(1);
                     // Title progress is in range 0..10000
                     setProgress(100 * progressHorizontal.getProgress());
                 }
             });
             button = (Button) findViewById(R.id.decrease);
             button.setOnClickListener(new Button.OnClickListener() {
                 public void onClick(View v) {
                     progressHorizontal.incrementProgressBy(-1);
                     // Title progress is in range 0..10000
                     setProgress(100 * progressHorizontal.getProgress());
                 }
             });
             button = (Button) findViewById(R.id.increase_secondary);
             button.setOnClickListener(new Button.OnClickListener() {
                 public void onClick(View v) {
                     progressHorizontal.incrementSecondaryProgressBy(1);
                     // Title progress is in range 0..10000
                     setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());
                 }
             });
             button = (Button) findViewById(R.id.decrease_secondary);
             button.setOnClickListener(new Button.OnClickListener() {
                 public void onClick(View v) {
                     progressHorizontal.incrementSecondaryProgressBy(-1);
                     // Title progress is in range 0..10000
                     setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());
                 }
             });
             
    }
    }
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-16 18:36 , Processed in 0.374981 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表