最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年03月28日 09:00:20   作者:木子餅干  
本篇文章主要介紹了Android開發(fā)之進度條ProgressBar的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

說明

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

默認形式ProgressBar

默認方式下,ProgressBar顯示為圓形進度,循環(huá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為style="?android:attr/progressBarStyleHorizontal"

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

設進度條背景

系統(tǒng)自帶的進度條的顏色比較單調,實際開發(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可以設置漸變開始和結束的顏色。定義完成以后,便可以使用

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

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

動態(tài)設置

在音樂進度,網絡下載時,需動態(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);

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

相關文章

最新評論

宜黄县| 南康市| 东台市| 六盘水市| 阳山县| 桑日县| 宜良县| 赣榆县| 剑川县| 兴山县| 祁连县| 潞西市| 扶余县| 枝江市| 西乌| 苍南县| 钦州市| 乃东县| 溧水县| 惠安县| 利川市| 赤壁市| 沐川县| 梅州市| 荔波县| 延津县| 湖口县| 蓬安县| 宝应县| 社旗县| 阿城市| 类乌齐县| 岳普湖县| 衢州市| 彰化市| 祥云县| 新疆| 松溪县| 屯留县| 洪江市| 汤原县|