Android自定義滑桿控件SeekBar多功能版本

在應(yīng)用開發(fā)中有沒有遇到過通過滑桿控件選擇一些區(qū)間條件實現(xiàn)參數(shù)變化赔桌?今天我們就來自定義View實現(xiàn)一個多功能又實用的版本SeekBar。

Paste_Image.png

](http://upload-images.jianshu.io/upload_images/3982371-7f76b66f235bde86.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.在布局中直接使用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:padding="20dp"
    tools:context="com.tangyx.seekbar.MainActivity"
    android:orientation="vertical">
    <RelativeLayout
        android:layout_marginTop="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <com.seekbar.sliding.text.TextSeekBar
            android:id="@+id/only_back"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            app:tickCount="2"/>
    ...
    </RelativeLayout>
    <LinearLayout
        android:id="@+id/time_layout"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="5dp"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <com.seekbar.sliding.SlidingSeekBar
            android:id="@+id/time_bar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tickCount="5"
            app:tickHeight="3dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            app:connectingLineColor="@android:color/black"
            app:barColor="@color/color_e0e8ee"
            app:barWeight="1.5dp"/>
    </LinearLayout>
</LinearLayout>

2.自定義的SeekBar一共有兩種

第一種在滑球上面顯示當(dāng)前選擇模式钙态,就是設(shè)置文字顯示在滑球上(com.seekbar.sliding.text.TextSeekBar)。
第二種兩邊都可以滑動操作数焊,比如選擇一個時間區(qū)域(com.seekbar.sliding.SlidingSeekBar)疯搅。
<b>支持的屬性:

<declare-styleable name="SeekBar">
        <!--可滑動選擇區(qū)間段-->
        <attr name="tickCount" format="integer" />
        <!--每個間隔的標示的高度-->
        <attr name="tickHeight" format="dimension" />
        <attr name="barWeight" format="dimension" />
        <!--被滑動線條顏色-->
        <attr name="barColor" format="reference|color" />
        <attr name="connectingLineWeight" format="dimension" />
        <!--線條的顏色-->
        <attr name="connectingLineColor" format="reference|color" />
        <!--自定義滑球的圓形大小-->
        <attr name="thumbRadius" format="dimension" />
        <!--自定義滑球的圖片 沒有觸摸的樣式-->
        <attr name="thumbImageNormal" format="reference" />
        <!--自定義滑球的圖片 手觸摸按下的樣式-->
        <attr name="thumbImagePressed" format="reference" />
        <!--如果不設(shè)置圖片,可以配合thumbRadius用程序?qū)崿F(xiàn)的滑球-->
        <attr name="thumbColorNormal" format="reference|color"/>
        <attr name="thumbColorPressed" format="reference|color"/>
</declare-styleable>```

####3.監(jiān)聽滑桿事件健爬,滑桿滑動變化通過OnRangeBarChangeListener接口來實現(xiàn)對應(yīng)的邏輯

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/3982371-cc462a93735fa7f7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

####4.設(shè)置滑球上的文字通過setCircleText()方法控乾,只有TextSeekBar支持該方法。

![seekbar.gif](http://upload-images.jianshu.io/upload_images/3982371-6457b1c4f91470fc.gif?imageMogr2/auto-orient/strip)


當(dāng)然類似這方面的自定義View都是通過監(jiān)聽手勢實現(xiàn)對應(yīng)的邏輯娜遵,你可以繼承BaseSeekBar來定義自己的樣式蜕衡。
更多的了解請通過源碼實踐。

<a >我是源碼</a>
<b>如果你喜歡就一起來提供更多人性化的思路设拟,我也將會努力實現(xiàn)更多超強體驗的自定義控件慨仿。</b>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末久脯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子镰吆,更是在濱河造成了極大的恐慌帘撰,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鼎姊,死亡現(xiàn)場離奇詭異骡和,居然都是意外死亡,警方通過查閱死者的電腦和手機相寇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門慰于,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唤衫,你說我怎么就攤上這事婆赠。” “怎么了佳励?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵休里,是天一觀的道長。 經(jīng)常有香客問我赃承,道長妙黍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任瞧剖,我火速辦了婚禮拭嫁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抓于。我一直安慰自己做粤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布捉撮。 她就那樣靜靜地躺著怕品,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巾遭。 梳的紋絲不亂的頭發(fā)上肉康,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音灼舍,去河邊找鬼迎罗。 笑死,一個胖子當(dāng)著我的面吹牛片仿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尤辱,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼砂豌,長吁一口氣:“原來是場噩夢啊……” “哼厢岂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起阳距,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤塔粒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后筐摘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卒茬,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年咖熟,在試婚紗的時候發(fā)現(xiàn)自己被綠了圃酵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡馍管,死狀恐怖郭赐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情确沸,我是刑警寧澤捌锭,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站罗捎,受9級特大地震影響观谦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桨菜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一豁状、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雷激,春花似錦替蔬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至根悼,卻和暖如春凶异,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挤巡。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工剩彬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矿卑。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓喉恋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子轻黑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,866評論 25 707
  • 正則表達式糊肤,又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Expression氓鄙,在代碼中常簡寫為regex馆揉、r...
    dctxf閱讀 291評論 0 0
  • FredYJH閱讀 192評論 0 0
  • 仔細想來,曼谷的街道是安詳且潔凈的向臀,好似誰都能光著腳丫巢墅、灑脫自在地行走其上。 每家每戶券膀,不管是樸素平實的民宅君纫,還是...
    海里有貓閱讀 1,784評論 0 2
  • 今天我分享的主題是肥胖與運動減肥。 為什么我要分享這樣的主題呢芹彬,因為追求美是人的天性蓄髓,而在追求美的這條路上,肥胖則...
    小新知之閱讀 973評論 2 2