Android ProgressBar 樣式[大全]

普通圓形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顯示     

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *