普通圓形ProgressBar
該類型進度條也就是一個表示運轉的過程,例如發送短信,連接網絡等等,表示一個過程正在執行中。
一般只要在XML布局中定義就可以了。
[html]
<progressBar Android:id="@+id/widget43"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical">
</ProgressBar>
此時,沒有設置它的風格,那麼它就是圓形的,一直會旋轉的進度條。
超大號圓形ProgressBar
此時,給設置一個style風格屬性後,該ProgressBar就有了一個風格,這裡大號ProgressBar的風格是: style="?android:attr/progressBarStyleLarge"
完整XML定義是:
[html]
<progressBar android:id="@+id/widget196"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge">
</ProgressBar>
小號圓形ProgressBar
小號ProgressBar對應的風格是: style="?android:attr/progressBarStyleSmall"
完整XML定義是:
[html
<progressBar android:id="@+id/widget108"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmall">
</ProgressBar>
標題型圓形ProgressBar
標題型ProgressBar對應的風格是: style="?android:attr/progressBarStyleSmallTitle"
完整XML定義是:
[html]
<progressBar android:id="@+id/widget110"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>
代碼中實現:
[java]
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
//請求窗口特色風格,這裡設置成不明確的進度風格
setContentView(R.layout.second);
setProgressBarIndeterminateVisibility(true);
//設置標題欄中的不明確的進度條是否可以顯示
}
長形進度條
布局中的長形進度條
①首先在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" >
講解:
style="?android:attr/progressBarStyleHorizontal"
設置風格為長形
android:max="100"
最大進度值為100
android:progress="50"
初始化的進度值
android:secondaryProgress="70"
初始化的底層第二個進度值
android:layout_gravity="center_vertical"
垂直居中
②代碼中運用 private ProgressBar myProgressBar;
[java]
//定義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
頁面標題中的長形進度條
代碼實現:
①先設置一下窗口風格特性 requestWindowFeature(Window.FEATURE_PROGRESS);
[java]
//請求一個窗口進度條特性風格
setContentView(R.layout.main);
setProgressBarVisibility(true);
//設置進度條可視
②然後設置進度值 setProgress(myProgressBar.getProgress() * 100);
[java]
//設置標題欄中前景的一個進度條進度值
setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
//設置標題欄中後面的一個進度條進度值
//ProgressBar.getSecondaryProgress() 是用來獲取其他進度條的進度值
ProgressDialog
ProgressDialog中的圓形進度條
ProgressDialog一般用來表示一個系統任務或是開啟任務時候的進度,有一種稍等的意思。
代碼實現:
[java]
ProgressDialog mypDialog=new ProgressDialog(this);
//實例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
//設置進度條風格,風格為圓形,旋轉的
mypDialog.setTitle("Google");
//設置ProgressDialog 標題
mypDialog.setMessage(getResources().getString(R.string.second));
//設置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//設置ProgressDialog 標題圖標
mypDialog.setButton("Google",this);
//設置ProgressDialog 的一個Button
mypDialog.setIndeterminate(false);
//設置ProgressDialog 的進度條是否不明確
mypDialog.setCancelable(true);
//設置ProgressDialog 是否可以按退回按鍵取消
mypDialog.show();
//讓ProgressDialog顯示
ProgressDialog中的長形進度條
代碼實現:
[java]
ProgressDialog mypDialog=new ProgressDialog(this);
//實例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//設置進度條風格,風格為長形,有刻度的
mypDialog.setTitle("地獄怒獸");
//設置ProgressDialog 標題
mypDialog.setMessage(getResources().getString(R.string.second));
//設置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//設置ProgressDialog 標題圖標
mypDialog.setProgress(59);
//設置ProgressDialog 進度條進度
mypDialog.setButton("地獄曙光",this);
//設置ProgressDialog 的一個Button
mypDialog.setIndeterminate(false);
//設置ProgressDialog 的進度條是否不明確
mypDialog.setCancelable(true);
//設置ProgressDialog 是否可以按退回按鍵取消
mypDialog.show();
//讓ProgressDialog顯示