一、基礎知識:
1.ProgressBar在界面文件XML中的布局:
[html]
<progressBar android:id="@+id/progressbar_updown"
android:layout_width="200dp"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center_vertical"
android:max="100"
android:progress="50"
android:secondaryProgress="70" >
<progressBar android:id="@+id/progressbar_updown"
android:layout_width="200dp"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center_vertical"
android:max="100"
android:progress="50"
android:secondaryProgress="70" >
[plain]
style="?android:attr/progressBarStyleHorizontal" 設置風格為長形
android:max="100" 最大進度值為100
android:progress="50" 初始化的進度值
android:secondaryProgress="70" 初始化的底層第二個進度值
android:layout_gravity="center_vertical" 垂直居中
style="?android:attr/progressBarStyleHorizontal" 設置風格為長形
android:max="100" 最大進度值為100
android:progress="50" 初始化的進度值
android:secondaryProgress="70" 初始化的底層第二個進度值
android:layout_gravity="center_vertical" 垂直居中
2.ProgressBar在代碼文件(.java)中的控制使用:
[java]
private ProgressBar myProgressBar;
//定義ProgressBar
myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);
//ProgressBar通過ID來從XML中獲取
myProgressBar.incrementProgressBy(5);
//ProgressBar進度值增加5
myProgressBar.incrementProgressBy(-5);
//ProgressBar進度值減少5
myProgressBar.incrementSecondaryProgressBy(5);
//ProgressBar背後的第二個進度條 進度值增加5
myProgressBar.incrementSecondaryProgressBy(-5);
//ProgressBar背後的第二個進度條 進度值減少5
private ProgressBar myProgressBar;
//定義ProgressBar
myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);
//ProgressBar通過ID來從XML中獲取
myProgressBar.incrementProgressBy(5);
//ProgressBar進度值增加5
myProgressBar.incrementProgressBy(-5);
//ProgressBar進度值減少5
myProgressBar.incrementSecondaryProgressBy(5);
//ProgressBar背後的第二個進度條 進度值增加5
myProgressBar.incrementSecondaryProgressBy(-5);
//ProgressBar背後的第二個進度條 進度值減少5
3.XML重要屬性
android:progressBarStyle:默認進度條樣式
android:progressBarStyleHorizontal:水平樣式
4.重要方法
[plain]
getMax():返回這個進度條的范圍的上限
getProgress():返回進度
getSecondaryProgress():返回次要進度
incrementProgressBy(int diff):指定增加的進度
isIndeterminate():指示進度條是否在不確定模式下
setIndeterminate(boolean indeterminate):設置不確定模式下
setVisibility(int v):設置該進度條是否可視
getMax():返回這個進度條的范圍的上限
getProgress():返回進度
getSecondaryProgress():返回次要進度
incrementProgressBy(int diff):指定增加的進度
isIndeterminate():指示進度條是否在不確定模式下
setIndeterminate(boolean indeterminate):設置不確定模式下
setVisibility(int v):設置該進度條是否可視
二、代碼展示:
1."Activity_09srcyanactivity_09MainActivity.java"
[java]
package yan.activity_09;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
import android.app.Activity;
public class MainActivity extends Activity {
// 聲明變量
private ProgressBar firstBar = null;
private ProgressBar secondBar = null;
private Button myButton = null;
private int progress_vol = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//映射控件ID到變量
firstBar = (ProgressBar)findViewById(R.id.firstBar);
secondBar = (ProgressBar)findViewById(R.id.secondBar);
myButton = (Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new ButtonListenr());
}
class ButtonListenr implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(0 == progress_vol)
{
// 設置進度條的最大值
firstBar.setMax(200);
// 設置進度條為可見的狀態
firstBar.setVisibility(Vi