Android實現(xiàn)動態(tài)定值范圍效果的控件
先來看看效果:

一、添加依賴庫的步驟
1.項目的gradle文件內(nèi)的做以下改動
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.添加最新版本的依賴庫,最新版本如右所示,修改末尾的版本即可(因為我有時候更新版本了會忘記修改readme)
dependencies {
compile 'com.github.Brioal:BrioalSetting:1.0'
////例如上面最新版本是1.1,則只要把1.0改成1.1即可使用最新版本
}
二、使用步驟:
1.xml布局文件
實際使用過程中發(fā)現(xiàn)如果與其他組件在一起,則滑動事件會實效,暫時沒發(fā)現(xiàn)代碼里面怎么解決,設(shè)置focus啥的都沒用,暫時的解決辦法是給組件添加一個父布局并且不包含其他組件即可,如下:
<LinearLayout android:id="@+id/layout" android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="wrap_content"> <com.brioal.rangeseek.view.RangeBar android:id="@+id/main_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true"/> </LinearLayout>
2.代碼設(shè)置
mRangeBar = (RangeBar) findViewById(R.id.main_container);
//添加數(shù)據(jù)源
final List<RangeEntity> list = new ArrayList<>();
//要顯示的文字和實際的值,分別是String 和 Object類型
list.add(new RangeEntity("15℃", 15));
list.add(new RangeEntity("18℃", 18));
list.add(new RangeEntity("21℃", 21));
list.add(new RangeEntity("24℃", 24));
list.add(new RangeEntity("27℃", 27));
list.add(new RangeEntity("30℃", 30));
//設(shè)置數(shù)據(jù)源
mRangeBar.setValues(list);
//添加范圍改變監(jiān)聽器
mRangeBar.addOnRangeChangedListener(new OnRangeChangedListener() {
@Override
public void selected(int startIndex, int endIndex) {
//獲取到的是起始和終止的數(shù)據(jù)在List中所對應(yīng)的下標(biāo)
mTvMin.setText(list.get(startIndex).getValue() + "");
mTvMax.setText(list.get(endIndex).getValue() + "");
}
});
3.提供的供自定義視圖的方法
方法 功能 void addOnRangeChangedListener(OnRangeChangedListener listener) 設(shè)置事件監(jiān)聽器 void setLineColor(int lineColor) 設(shè)置中間的線條顏色 void setLineWidth(int lineWidth) 設(shè)置中間的線條寬度 void setCircleColor(int circleColor) 設(shè)置圓點的邊框顏色 void setCircleRadius(int circleRadius) 設(shè)置圓點的半徑 void setCircleWidth(int circleWidth) 設(shè)置圓點的線條寬度 void setCenterColor(int centerColor) 設(shè)置選中的圓點的填充顏色 void setPointColor(int pointColor) 設(shè)置游標(biāo)的填充顏色 void setStartIndex(int startIndex) 設(shè)置選中的起始下標(biāo) int getStartIndex() 獲取選中的起始下標(biāo) void setEndIndex(int endIndex) 設(shè)置終止下標(biāo) int getEndIndex() 獲取終止的下標(biāo)
總結(jié)
以上就是這篇文章的全部內(nèi)容,希望本文能對大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。
- android ListView內(nèi)數(shù)據(jù)的動態(tài)添加與刪除實例代碼
- Android實現(xiàn)ListView數(shù)據(jù)動態(tài)加載的方法
- Android實現(xiàn)listview動態(tài)加載數(shù)據(jù)分頁的兩種方法
- Android判斷touch事件點是否在view范圍內(nèi)的方法
- 如何讓安卓(Android)子控件超出父控件的范圍顯示
- Android百度地圖poi范圍搜索
- 一看就懂的Android APP開發(fā)入門教程
- Android基礎(chǔ)之使用Fragment控制切換多個頁面
- 六款值得推薦的android(安卓)開源框架簡介
- Android應(yīng)用開發(fā)SharedPreferences存儲數(shù)據(jù)的使用方法
相關(guān)文章
Android 媒體開發(fā)之MediaPlayer狀態(tài)機(jī)接口方法實例解析
這篇文章主要介紹了Android 媒體開發(fā)之MediaPlayer狀態(tài)機(jī)接口方法實例解析,需要的朋友可以參考下2017-08-08
Android運行時權(quán)限終極方案(PermissionX)
這篇文章主要介紹了Android運行時權(quán)限終極方案(PermissionX),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Android SQLite數(shù)據(jù)庫增刪改查操作的案例分析
本篇文章介紹了,在Android中SQLite數(shù)據(jù)庫增刪改查操作的案例分析,需要的朋友參考下2013-04-04
Android仿餓了么加入購物車旋轉(zhuǎn)控件自帶閃轉(zhuǎn)騰挪動畫的按鈕效果(實例詳解)
這篇文章主要介紹了Android仿餓了么加入購物車旋轉(zhuǎn)控件自帶閃轉(zhuǎn)騰挪動畫的按鈕效果(實例詳解)的相關(guān)資料,需要的朋友可以參考下2017-01-01
使用Android studio創(chuàng)建的AIDL編譯時找不到自定義類的解決辦法
這篇文章主要介紹了使用Android studio創(chuàng)建的AIDL編譯時找不到自定義類的解決辦法的相關(guān)資料,需要的朋友可以參考下2016-02-02

