溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在Android 中利用Seekbar可以實(shí)現(xiàn)哪些功能

發(fā)布時(shí)間:2020-12-02 15:48:04 來源:億速云 閱讀:136 作者:Leah 欄目:移動(dòng)開發(fā)

在Android 中利用Seekbar可以實(shí)現(xiàn)哪些功能?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Android 中Seekbar詳解及簡單實(shí)例

做到音頻播放和音樂播放時(shí),大多數(shù)都要用到Seekbar?,F(xiàn)在我先簡單介紹下Seekbar的幾個(gè)重要屬性。

  • android:max 設(shè)置值的大小 .
  • android:thumb=”@drawable/” 顯示的那個(gè)可拖動(dòng)圖標(biāo),如果沒有設(shè)置該參數(shù)則為系統(tǒng)默認(rèn),如果自己需要重新定義,則將自己需要的圖標(biāo)存放在資源目錄 /res/drawable下,然后調(diào)用即可.
  • android:thumbOffset 拖動(dòng)圖標(biāo)的偏量值,可以讓拖動(dòng)圖標(biāo)超過bar的長度.
  • android:progress 設(shè)置seekbar當(dāng)前的默認(rèn)值,范圍0到max之間.
  • android:secondaryProgress 用過的迅雷的都知道拖動(dòng)圖標(biāo)隨著當(dāng)前的播放時(shí)間的走動(dòng)而走動(dòng),同時(shí)我們也注意到了也有個(gè)緩沖看到的進(jìn)度條,這個(gè)屬性就是用來設(shè)置默認(rèn)顯示的值為多少,范圍為0到max.
  • android:progressDrawable 當(dāng)我們不想使用系統(tǒng)默認(rèn)的SeekBar時(shí)可以自己定義一個(gè),這個(gè)資源文件就是用來調(diào)用我們自己定義的Seekbar圖標(biāo)的一般是在drawable下建立一個(gè).xml文件s用layer-list來組織這些圖標(biāo).
     

一般情況下,Seekbar的所有配置是寫在style里的,而不是xml里。下面貼出我的代碼:

<SeekBar
            android:id="@+id/sb"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:max="100"
            />

style的代碼:

<style name="Widget.SeekBar.Normal" parent="@android:style/Widget.SeekBar">
    <item name="android:thumbOffset">8dip</item>
    <item name="android:maxHeight">8dip</item>
    <item name="android:indeterminateOnly">false</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
    <item name="android:progressDrawable">@drawable/po_seekbar</item>
    <item name="android:minHeight">8dip</item>
    <item name="android:thumb">@mipmap/cricle</item>
  </style>

progressdrawable的代碼:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@android:id/background">
    <shape>
      <solid android:color="#E6E6E6" />
      <stroke
        android:width="1dp"
        android:color="#cccccc" />
      <corners android:radius="5dp" />
    </shape>
  </item>
  <item android:id="@android:id/secondaryProgress">
    <clip>
      <shape>
        <corners android:radius="5dp" />
        <solid android:color="#E6E6E6" />
      </shape>
    </clip>
  </item>
  <item android:id="@android:id/progress">
    <clip>
      <shape>
        <corners android:radius="5dp" />
        <solid android:color="#7DBF60" />
      </shape>
    </clip>
  </item>

</layer-list>

這樣一個(gè)Seekbar就解決了。

Seekbar有的監(jiān)聽,就是你拖動(dòng)到哪播放到哪(差不多這個(gè)意思)。

代碼很簡單:

 sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

      public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
        int process = seekBar.getProgress();
        if (player != null) {
          player.seekTo(process);
        }
      }

      public void onStartTrackingTouch(SeekBar seekBar) {

      }

      public void onStopTrackingTouch(SeekBar seekBar) {

      }
    });

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI