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

Android開(kāi)發(fā)之進(jìn)度條ProgressBar的示例代碼

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

說(shuō)明

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

默認(rèn)形式ProgressBar

默認(rèn)方式下,ProgressBar顯示為圓形進(jìn)度,循環(huán)轉(zhuǎn)圈,不顯示具體的進(jì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

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

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

//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è)進(jìn)度條背景

系統(tǒng)自帶的進(jìn)度條的顏色比較單調(diào),實(shí)際開(kāi)發(fā)中使用較少,可以自定義進(jìn)度條背景,新建一個(gè)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è)置進(jìn)度條顏色 -->
<item android:id="@android:id/progress">
  <clip>
    <shape>

      <gradient
        android:endColor="#fff000"
        android:startColor="#fff000" />
    </shape>
  </clip>
</item>
</layer-list>

gradient可以設(shè)置進(jìn)度條的漸變色, android:endColor和 android:startColor可以設(shè)置漸變開(kāi)始和結(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è)置了黃色矩形背景,及黃色進(jìn)度條

動(dòng)態(tài)設(shè)置

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

private void setElectircProgress(int i, int color) {
  ClipDrawable drawable = new ClipDrawable(new ColorDrawable(color), Gravity.LEFT, ClipDrawable.HORIZONTAL);
  progressBarElectric.setProgressDrawable(drawable);
  progressBarElectric.setProgress(i);
}

音樂(lè)播放實(shí)例

通過(guò)MediaPlayer 播放音樂(lè)并獲取進(jìn)度,設(shè)置進(jìn)度

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

山阴县| 蓝田县| 双峰县| 兴宁市| 于都县| 泊头市| 阳朔县| 丹凤县| 商河县| 通化市| 沙雅县| 福鼎市| 潍坊市| 洱源县| 铜川市| 庆阳市| 绥滨县| 灯塔市| 周宁县| 台安县| 涞源县| 定日县| 会同县| 安达市| 乳源| 武宁县| 余姚市| 确山县| 黑河市| 屯门区| 正宁县| 沾化县| 涞源县| 抚州市| 长泰县| 晋城| 西林县| 房山区| 许昌市| 大安市| 昭通市|