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"
/>
<!--
style - 进度条的样式,progressBarStyleHorizontal水平样式 ,progressBarStyle默认样式
max - 进度的最大值 ,默认为100
progress - 第一进度位置
secondaryProgress - 第二进度位置
visibility - 进度条是否可见 gone不可见不会占据位置 ,invisible不可见但会占据位置,visible可见
-->
<ProgressBar
android:id="@+id/fristBar"
android:layout_width="200dp"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
android:max="100"
/>
<ProgressBar
android:id="@+id/secondBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
style="?android:attr/progressBarStyle"
/>
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GO"
/>
</LinearLayout>
Activity
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class ProgressTest extends Activity {
//声明对象和变量
private ProgressBar fristBar =null;
private ProgressBar secondBar = null;
private Button mybutton=null;
private int i =0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//根据控件的ID来获取控件对象
fristBar =(ProgressBar)findViewById(R.id.fristBar);
secondBar =(ProgressBar)findViewById(R.id.secondBar);
mybutton = (Button)findViewById(R.id.myButton);
mybutton.setOnClickListener(new ButtonListener());
}
//给Button设置一个监听器
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
if(i == 0){
//设置进度条处于可见状态
fristBar.setVisibility(View.VISIBLE);
secondBar.setVisibility(View.VISIBLE);
}else if(i<fristBar.getMax()){
//设置主进度条当前值
fristBar.setProgress(i);
//设置第二进度条的当前值
fristBar.setSecondaryProgress(i+10);
默认的进度条是无法显示进行的状态
secondBar.setProgress(i+10);
}else {
//设置进度条处于不可见状态
fristBar.setVisibility(View.GONE);
secondBar.setVisibility(View.GONE);
}
i += 10;
}
}
}