在.xml布局文件中声明一个progressbar例子:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!--
style="?android:attr/progressBarStyleHorizontal"
?代表引用系统主题
这里定义了一个水平的进度条
android:visibility="visible" 设置进度条为可视
-->
<ProgressBar
android:id="@+id/progress1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:visibility="visible"
/>
<!--
style="?android:attr/progressBarStyle"
?代表引用系统主题
这里定义了一个环形的进度条
android:visibility="gone" 代表当前进度条是不可视的,让我们的程序把进度条变成可视
-->
<ProgressBar
android:id="@+id/progress2"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试progressbar的button"
android:onClick="addProgress"
/>
</LinearLayout>
操作进度条的代码示例:
public class ProgressBarActivity extends Activity {
private ProgressBar progress1;
private ProgressBar progress2;
private int count=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
progress1=(ProgressBar) findViewById(R.id.progress1);
progress2=(ProgressBar) findViewById(R.id.progress2);
}
//button->onClick
public void addProgress(View v){
if(count==0){
//设置progress2可见
progress2.setVisibility(View.VISIBLE);
}else if(count<=progress1.getMax()){
//进度条默认进度值100
//如果要设置进度条最大刻度,用setMax(...) 或者在.xml中设置android:max=...
progress1.setProgress(count);
//二级进度
progress1.setSecondaryProgress(count+10);
progress2.setProgress(count);
}
count+=10;
}
}