生活随笔
收集整理的這篇文章主要介紹了
ProgressBar 各种样式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
多式樣ProgressBar
普通圓形ProgressBar
該類型進度條也就是一個表示運轉的過程,例如發送短信,連接網絡等等,表示一個過程正在執行中。
一般只要在XML布局中定義就可以了。
Java代碼 ?
<progressBar?android:id="@+id/widget43"????????android:layout_width="wrap_content"?????????android:layout_height="wrap_content"????????????android:layout_gravity="center_vertical">??</ProgressBar>?? <progressBar android:id="@+id/widget43"android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical">
</ProgressBar>
此時,沒有設置它的風格,那么它就是圓形的,一直會旋轉的進度條。
各大小樣式圓形ProgressBar
超大號圓形ProgressBar
此時,給設置一個style風格屬性后,該ProgressBar就有了一個風格,
這里大號ProgressBar的風格是:
Java代碼 ?
style="?android:attr/progressBarStyleLarge"?? style="?android:attr/progressBarStyleLarge" 完整
XML定義是:
Java代碼 ?
?<progressBar?android:id="@+id/widget196"????????android:layout_width="wrap_content"?????????android:layout_height="wrap_content"????????style="?android:attr/progressBarStyleLarge">??</ProgressBar>?? <progressBar android:id="@+id/widget196"android:layout_width="wrap_content" android:layout_height="wrap_content"style="?android:attr/progressBarStyleLarge">
</ProgressBar>
小號圓形ProgressBar
小號ProgressBar對應的風格是:
Java代碼 ?
style="?android:attr/progressBarStyleSmall"?? style="?android:attr/progressBarStyleSmall"
完整XML定義是:
Java代碼 ?
<progressBar?android:id="@+id/widget108"????????android:layout_width="wrap_content"?????????android:layout_height="wrap_content"????????style="?android:attr/progressBarStyleSmall">??</ProgressBar>?? <progressBar android:id="@+id/widget108"android:layout_width="wrap_content" android:layout_height="wrap_content"style="?android:attr/progressBarStyleSmall">
</ProgressBar>
標題型圓形ProgressBar
標題型ProgressBar對應的風格是:
Java代碼 ?
style="?android:attr/progressBarStyleSmallTitle"?? style="?android:attr/progressBarStyleSmallTitle" 完整XML定義是:
Java代碼 ?
<progressBar?android:id="@+id/widget110"??????android:layout_width="wrap_content"???????android:layout_height="wrap_content"??????style="?android:attr/progressBarStyleSmallTitle">??</ProgressBar>?? <progressBar android:id="@+id/widget110"android:layout_width="wrap_content" android:layout_height="wrap_content"style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>
代碼中實現:
??? Java代碼 ?
protected?void?onCreate(Bundle?savedInstanceState)?{??????????????????????super.onCreate(savedInstanceState);????????????requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);??????????????????????setContentView(R.layout.second);????????????setProgressBarIndeterminateVisibility(true);??????????????????}?? protected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);//請求窗口特色風格,這里設置成不明確的進度風格setContentView(R.layout.second);setProgressBarIndeterminateVisibility(true);//設置標題欄中的不明確的進度條是否可以顯示}
長形進度條
布局中的長形進度條
①首先在XML進行布局
Java代碼 ?
<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" />
講解:
Java代碼 ?
style="?android:attr/progressBarStyleHorizontal"??? style="?android:attr/progressBarStyleHorizontal" ?
設置風格為長形
Java代碼 ?
android:max="100"??? android:max="100" ?
最大進度值為100
Java代碼 ?
android:progress="50"???? android:progress="50"
初始化的進度值
Java代碼 ?
android:secondaryProgress="70"??? android:secondaryProgress="70"
初始化的底層第二個進度值
Java代碼 ?
android:layout_gravity="center_vertical"????? android:layout_gravity="center_vertical"
垂直居中
②代碼中運用
Java代碼 ?
private?ProgressBar?myProgressBar;??????myProgressBar?=?(ProgressBar)?findViewById(R.id.progressbar_updown);??????myProgressBar.incrementProgressBy(5);??????myProgressBar.incrementProgressBy(-5);??????myProgressBar.incrementSecondaryProgressBy(5);??????myProgressBar.incrementSecondaryProgressBy(-5);??????? private ProgressBar myProgressBar;//定義ProgressBarmyProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);//ProgressBar通過ID來從XML中獲取myProgressBar.incrementProgressBy(5);//ProgressBar進度值增加5myProgressBar.incrementProgressBy(-5);//ProgressBar進度值減少5myProgressBar.incrementSecondaryProgressBy(5);//ProgressBar背后的第二個進度條 進度值增加5myProgressBar.incrementSecondaryProgressBy(-5);//ProgressBar背后的第二個進度條 進度值減少5
頁面標題中的長形進度條
代碼實現:
①先設置一下窗口風格特性
Java代碼 ?
requestWindowFeature(Window.FEATURE_PROGRESS);?? requestWindowFeature(Window.FEATURE_PROGRESS);
//請求一個窗口進度條特性風格
Java代碼 ?
setContentView(R.layout.main);????setProgressBarVisibility(true);?? setContentView(R.layout.main);setProgressBarVisibility(true);
//設置進度條可視
②然后設置進度值
Java代碼 ?
setProgress(myProgressBar.getProgress()?*?100);?? setProgress(myProgressBar.getProgress() * 100);
//設置標題欄中前景的一個進度條進度值
Java代碼 ?
setSecondaryProgress(myProgressBar.getSecondaryProgress()?*?100);?? setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
//設置標題欄中后面的一個進度條進度值
//ProgressBar.getSecondaryProgress() 是用來獲取其他進度條的進度值
ProgressDialog
ProgressDialog中的圓形進度條
?????
ProgressDialog一般用來表示一個系統任務或是開啟任務時候的進度,有一種稍等的意思。
代碼實現:
Java代碼 ?
ProgressDialog?mypDialog=new?ProgressDialog(this);????????????????????????????mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);????????????????????????????mypDialog.setTitle("Google");????????????????????????????mypDialog.setMessage(getResources().getString(R.string.second));????????????????????????????mypDialog.setIcon(R.drawable.android);????????????????????????????mypDialog.setButton("Google",this);????????????????????????????mypDialog.setIndeterminate(false);????????????????????????????mypDialog.setCancelable(true);????????????????????????????mypDialog.show();??????????????? 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 的一個ButtonmypDialog.setIndeterminate(false);//設置ProgressDialog 的進度條是否不明確mypDialog.setCancelable(true);//設置ProgressDialog 是否可以按退回按鍵取消mypDialog.show();//讓ProgressDialog顯示
ProgressDialog中的長形進度條
?????
代碼實現:
Java代碼 ?
ProgressDialog?mypDialog=new?ProgressDialog(this);??????????????????mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);??????????????????????????????mypDialog.setTitle("地獄怒獸");??????????????????????????????mypDialog.setMessage(getResources().getString(R.string.second));??????????????????????????????mypDialog.setIcon(R.drawable.android);??????????????????????????????mypDialog.setProgress(59);??????????????????????????????mypDialog.setButton("地獄曙光",this);??????????????????????????????mypDialog.setIndeterminate(false);??????????????????????????????mypDialog.setCancelable(true);??????????????????????????????mypDialog.show();??????????????????????AlertDialog.Builder????AlertDialog中的圓形ProgressBar ?
轉載于:https://www.cnblogs.com/gtgl/p/3906620.html
總結
以上是生活随笔為你收集整理的ProgressBar 各种样式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。