ProgressBar 的使用

发布于 2022-09-30 18:55:18 字数 7954 浏览 13 评论 0

转:jamsewang

ProgressBar 的使用



这里我是通过一个button 的 click 事件 来控制 ProgressBar 的 进度。


首先我在  main.xml 布局文件中定义好 一些用到的 控件。 具体代码如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent"
  6.     >
  7. <TextView  
  8.     android:layout_width="fill_parent"
  9.     android:layout_height="wrap_content"
  10.     android:text="@string/hello"
  11.     />

  12. <ProgressBar
  13.     android:id="@+id/FirstBar"
  14.     style="?android:attr/progressBarStyleHorizontal"
  15.     android:layout_width="300dp"
  16.     android:layout_height="wrap_content"
  17.     android:max="200"
  18.     android:visibility="gone"  />
  19.    
  20. <ProgressBar
  21.     android:id="@+id/SecondBar"
  22.     android:layout_width="wrap_content"
  23.     android:layout_height="wrap_content"
  24.     android:max="200"
  25.     android:visibility="gone" />
  26.    
  27. <Button
  28.     android:id="@+id/btnSubmit"
  29.     android:layout_width="wrap_content"
  30.     android:layout_height="wrap_content"
  31.     android:text="@string/Text_btnSubmit" />
复制代码</LinearLayout> 这里面定义了两个 ProgressBar  一个的样式有改变 。 style="?android:attr/progressBarStyleHorizontal", 即把这个 ProgressBar 定义为一个横向的。 稍后再运行结果中会有所体现。 另外一个样式没有任何定义, 它默认是 android 默认的 圆形的。


android:max="200"      给 ProgressBar 赋了最大值。 这个值也可以在 代码中进行赋值:  pb1.serMax(200);


android:visibility="gone"    将ProgressBar 的初始状态设置为 gone, 即不可见状态。


然后,在代码中  进行编码。
  1. package com.andorid.ProgressBarDemo;

  2. import android.app.Activity;
  3. import android.view.View;
  4. import android.view.View.OnClickListener;
  5. import android.widget.*;
  6. import android.os.Bundle;

  7. public class ProgressBarDemo extends Activity {
  8.     private ProgressBar pb1 = null;
  9.     private ProgressBar pb2 = null;
  10.     private Button btnSubmit = null;
  11.     private int i = 0;
  12.    
  13.     /** Called when the activity is first created. */
  14.     @Override
  15.     public void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.main);
  18.         
  19.         pb1 = (ProgressBar)findViewById(R.id.FirstBar);
  20.         pb2 = (ProgressBar)findViewById(R.id.SecondBar);
  21.         btnSubmit = (Button)findViewById(R.id.btnSubmit);
  22.         
  23.         btnSubmit.setOnClickListener(new btnSubmitListener());
  24.     }
  25.    
  26.     class btnSubmitListener implements OnClickListener {
  27.         @Override
  28.         public void onClick(View arg0) {
  29.             // TODO Auto-generated method stub
  30.             
  31.             if(i == 0) {
  32.                 pb1.setVisibility(View.VISIBLE);
  33.                 pb2.setVisibility(View.VISIBLE);
  34.             }
  35.             else if(i < pb1.getMax()) {
  36.                 pb1.setProgress(i);
  37.                 pb1.setSecondaryProgress(i + 20);
  38.                 pb2.setProgress(i);
  39.             }
  40.             else {
  41.                 pb1.setVisibility(View.GONE);
  42.                 pb2.setVisibility(View.GONE);
  43.                 i = 0;
  44.             }
  45.             i += 10;            
  46.         }
  47.         
  48.     }
  49.    
  50. }
复制代码通过对button的 click 事件进行监听 来控制 ProgressBar的进度。




pb1.setProgress(i);     设置 ProgressBar 的值(黄色部分)。

pb1.setSecondaryProgress(i + 20);     设置预加载的 ProgressBar 的值(浅黄色的部分)。




运行的结果为:

1.jpg (12.24 KB, 下载次数: 2)

下载附件

2011-03-29 13:04 上传



点击 Button  就会出现 ProgressBar  如下图:


2.jpg (15.85 KB, 下载次数: 3)

下载附件

2011-03-29 13:04 上传



以上就是我所学的最简单的 ProgressBar 的Demo。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文