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

首頁 > 系統 > Android > 正文

Android 中Seekbar詳解及簡單實例

2019-12-12 03:11:03
字體:
來源:轉載
供稿:網友

Android 中Seekbar詳解及簡單實例

做到音頻播放和音樂播放時,大多數都要用到Seekbar。現在我先簡單介紹下Seekbar的幾個重要屬性。

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

一般情況下,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/Widget.SeekBar.Normal"/>

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的代碼:

<?xml version="1.0" encoding="utf-8"?><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>

這樣一個Seekbar就解決了。

Seekbar有的監聽,就是你拖動到哪播放到哪(差不多這個意思)。

代碼很簡單:

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

好了,現在說下可能遇到的情況:

1、Seekbar中間圓圈左右顯示不全。設置thumboffset=0就可以了。

2、Seekbar中間圓圈上下顯示不全。這里你把Seekbar的高度設置成自適應就可以了,當時我還因為這個問題搞了半天(日了狗了)。

Seekbar的用法基本就這樣了,有什么不明白的地方可以提出來。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉兴市| 石首市| 南城县| 榆树市| 霞浦县| 龙江县| 达州市| 双辽市| 南安市| 改则县| 景东| 九江县| 茂名市| 芦山县| 会昌县| 云霄县| 连山| 三穗县| 湖口县| 丽江市| 松原市| 黑水县| 巴林左旗| 贡嘎县| 新乡县| 济宁市| 辰溪县| 东兴市| 平顶山市| 九江市| 阿荣旗| 随州市| 承德市| 萝北县| 尼木县| 汉沽区| 洛隆县| 红河县| 凌海市| 比如县| 东乡县|