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

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)之進度條ProgressBar的示例代碼

2019-12-12 01:04:31
字體:
供稿:網(wǎng)友

說明

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

默認(rèn)形式ProgressBar

默認(rèn)方式下,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

橫向帶進度的進度條,通過設(shè)置ProgressBar的Style為style="?android:attr/progressBarStyleHorizontal"

max屬性指定進度條總進度值,progress設(shè)置當(dāng)前進度值,也可以說是初始進度值

//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"  />

設(shè)進度條背景

系統(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"><!-- 設(shè)置背景色 --><item android:id="@android:id/background"  android:drawable="@mipmap/feed_grow_progress_bar"></item><!-- 設(shè)置進度條顏色 --><item android:id="@android:id/progress">  <clip>    <shape>      <gradient        android:endColor="#fff000"        android:startColor="#fff000" />    </shape>  </clip></item></layer-list>

gradient可以設(shè)置進度條的漸變色, android:endColor和 android:startColor可以設(shè)置漸變開始和結(jié)束的顏色。定義完成以后,便可以使用

<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"  />

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

動態(tài)設(shè)置

在音樂進度,網(wǎng)絡(luò)下載時,需動態(tài)加載進度條,默認(rèn)情況下,設(shè)置進度條,使用setProgress()即可。但有時除了動態(tài)設(shè)置進度,仍需要動態(tài)設(shè)置進度條顏色

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

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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芮城县| 新巴尔虎右旗| 广东省| 噶尔县| 安徽省| 贵阳市| 措勤县| 东乡县| 馆陶县| 大丰市| 邻水| 元阳县| 开原市| 惠州市| 德昌县| 靖江市| 临江市| 石嘴山市| 贵德县| 饶平县| 昆山市| 武邑县| 昌都县| 东丽区| 修武县| 岚皋县| 广灵县| 广宗县| 通州市| 乐陵市| 梧州市| 双流县| 松滋市| 江达县| 梁山县| 宁河县| 怀安县| 竹山县| 福安市| 惠东县| 溧水县|