国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發之進度條ProgressBar的示例代碼

2019-10-22 18:13:38
字體:
來源:轉載
供稿:網友

說明

ProgressBar一般用于顯示一個過程,例如數據加載過程,文件下載進度,音樂播放進度等。

默認形式ProgressBar

默認方式下,ProgressBar顯示為圓形進度,循環轉圈,不顯示具體的進度值,控制其顯隱藏即可,如下

Android,進度條,ProgressBar

適用于界面加載

//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為style="?android:attr/progressBarStyleHorizontal"

Android,進度條,ProgressBar

max屬性指定進度條總進度值,progress設置當前進度值,也可以說是初始進度值

//xml中  <ProgressBar  android:id="@+id/progress_bar_h"  style="?android:attr/progressBarStyleHorizontal"  android:layout_width="85dp"  android:layout_height="10dp"  android:layout_gravity="center"  android:max="100"  android:progress="50"  />

設進度條背景

系統自帶的進度條的顏色比較單調,實際開發中使用較少,可以自定義進度條背景,新建一個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可以設置漸變開始和結束的顏色。定義完成以后,便可以使用

<ProgressBar  android:id="@+id/progress_bar_healthy"  style="?android:attr/progressBarStyleHorizontal"  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"  />

效果圖,這里設置了黃色矩形背景,及黃色進度條

Android,進度條,ProgressBar

動態設置

在音樂進度,網絡下載時,需動態加載進度條,默認情況下,設置進度條,使用setProgress()即可。但有時除了動態設置進度,仍需要動態設置進度條顏色

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 播放音樂并獲取進度,設置進度

Android,進度條,ProgressBar

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);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诏安县| 塘沽区| 长寿区| 车险| 保山市| 旅游| 张家口市| 建昌县| 宣威市| 长岭县| 榆树市| 西乌珠穆沁旗| 夏河县| 大石桥市| 信丰县| 万载县| 贵溪市| 新干县| 共和县| 孟州市| 清河县| 太仓市| 泗阳县| 松原市| 望城县| 嫩江县| 临武县| 崇义县| 山东省| 贵阳市| 新河县| 彭泽县| 伊川县| 开封市| 高清| 德州市| 屏东市| 龙口市| 辰溪县| 温宿县| 高平市|