說明
在范縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站建設、成都網(wǎng)站設計 網(wǎng)站設計制作定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站設計,成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設,范縣網(wǎng)站建設費用合理。
ProgressBar一般用于顯示一個過程,例如數(shù)據(jù)加載過程,文件下載進度,音樂播放進度等。
默認形式ProgressBar
默認方式下,ProgressBar顯示為圓形進度,循環(huán)轉(zhuǎn)圈,不顯示具體的進度值,控制其顯隱藏即可,如下
適用于界面加載
//xml中 <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> //代碼中控制顯隱藏 mProgressBar = (ProgressBar) findViewById(R.id.progress_bar_main); mProgressBar.setVisibility(View.VISIBLE);
橫向ProgressBar
橫向帶進度的進度條,通過設置ProgressBar的Style為
max屬性指定進度條總進度值,progress設置當前進度值,也可以說是初始進度值
//xml中 <ProgressBar android:id="@+id/progress_bar_h" android:layout_width="85dp" android:layout_height="10dp" android:layout_gravity="center" android:max="100" android:progress="50" />
設進度條背景
系統(tǒng)自帶的進度條的顏色比較單調(diào),實際開發(fā)中使用較少,可以自定義進度條背景,新建一個progressbar_bg.xml文件
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 設置背景色 --> <item android:id="@android:id/background" android:drawable="@mipmap/feed_grow_progress_bar"> </item> <!-- 設置進度條顏色 --> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:endColor="#fff000" android:startColor="#fff000" /> </shape> </clip> </item> </layer-list>
gradient可以設置進度條的漸變色, android:endColor和 android:startColor可以設置漸變開始和結(jié)束的顏色。定義完成以后,便可以使用
<ProgressBar android:id="@+id/progress_bar_healthy" android:layout_width="85dp" android:layout_height="10dp" android:layout_marginTop="20dp" android:layout_gravity="center" android:max="100" android:progress="50" android:progressDrawable="@drawable/progressbar_bg" />
效果圖,這里設置了黃色矩形背景,及黃色進度條
動態(tài)設置
在音樂進度,網(wǎng)絡下載時,需動態(tài)加載進度條,默認情況下,設置進度條,使用setProgress()即可。但有時除了動態(tài)設置進度,仍需要動態(tài)設置進度條顏色
private void setElectircProgress(int i, int color) { ClipDrawable drawable = new ClipDrawable(new ColorDrawable(color), Gravity.LEFT, ClipDrawable.HORIZONTAL); progressBarElectric.setProgressDrawable(drawable); progressBarElectric.setProgress(i); }
音樂播放實例
通過MediaPlayer 播放音樂并獲取進度,設置進度
musicProgressBar = (ProgressBar) findViewById(R.id.progress_bar_music); if (mPlayer != null) { mPlayer.release(); mPlayer = null; } mPlayer = MediaPlayer.create(this, R.raw.summer); mPlayer.start(); musicProgressBar.setMax(mPlayer.getDuration()); if (timer != null) { timer = null; timerTask = null; } timer = new Timer(); timerTask = new TimerTask() { @Override public void run() { if (mPlayer != null) { if (mPlayer.isPlaying()) { runOnUiThread(new Runnable() { @Override public void run() { musicProgressBar.setProgress(mPlayer.getCurrentPosition()); } }); } } } }; timer.schedule(timerTask, 0, 1000);
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當前題目:Android開發(fā)之進度條ProgressBar的示例代碼
轉(zhuǎn)載源于:http://m.rwnh.cn/article38/jcjcpp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、電子商務、靜態(tài)網(wǎng)站、小程序開發(fā)、移動網(wǎng)站建設、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)