ProgressBar 的使用 —— Android 发现之旅 2011/03/28

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

 

首先我在  main.xml 布局文件中定义好 一些用到的 控件。 具体代码如下:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"
    android:layout_width
="fill_parent"
    android:layout_height
="fill_parent"
    
>
<TextView  
    
android:layout_width="fill_parent" 
    android:layout_height
="wrap_content" 
    android:text
="@string/hello"
    
/>

<ProgressBar 
    
android:id="@+id/FirstBar"
    style
="?android:attr/progressBarStyleHorizontal"
    android:layout_width
="300dp"
    android:layout_height
="wrap_content"
    android:max
="200" 
    android:visibility
="gone"  />
    
<ProgressBar 
    
android:id="@+id/SecondBar"
    android:layout_width
="wrap_content"
    android:layout_height
="wrap_content"
    android:max
="200" 
    android:visibility
="gone" />
    
<Button 
    
android:id="@+id/btnSubmit"
    android:layout_width
="wrap_content"
    android:layout_height
="wrap_content"
    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, 即不可见状态。

 

 

 

 

然后,在代码中  进行编码。

 

package com.andorid.ProgressBarDemo;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import android.os.Bundle;

public class ProgressBarDemo extends Activity {
    
private ProgressBar pb1 = null;
    
private ProgressBar pb2 = null;
    
private Button btnSubmit = null;
    
private int i = 0;
    
    
/** Called when the activity is first created. */
    @Override
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        pb1 
= (ProgressBar)findViewById(R.id.FirstBar);
        pb2 
= (ProgressBar)findViewById(R.id.SecondBar);
        btnSubmit 
= (Button)findViewById(R.id.btnSubmit);
        
        btnSubmit.setOnClickListener(
new btnSubmitListener());
    }
    
    
class btnSubmitListener implements OnClickListener {
        @Override
        
public void onClick(View arg0) {
            
// TODO Auto-generated method stub
            
            
if(i == 0) {
                pb1.setVisibility(View.VISIBLE);
                pb2.setVisibility(View.VISIBLE);
            }
            
else if(i < pb1.getMax()) {
                pb1.setProgress(i);
                pb1.setSecondaryProgress(i 
+ 20);
                pb2.setProgress(i);
            }
            
else {
                pb1.setVisibility(View.GONE);
                pb2.setVisibility(View.GONE);
                i 
= 0;
            }
            i 
+= 10;            
        }
        
    }
    
}

 

 通过对button的 click 事件进行监听 来控制 ProgressBar的进度。

 

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

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

 

 运行的结果为:

 

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

 

 以上就是我所学的最简单的 ProgressBar 的Demo。  记录与2011-03-28晚。

 

posted @ 2011-03-28 23:40  jamsewang  阅读(1760)  评论(1编辑  收藏  举报