Android實(shí)現(xiàn)動(dòng)態(tài)定值范圍效果的控件
先來看看效果:
一、添加依賴庫的步驟
1.項(xiàng)目的gradle文件內(nèi)的做以下改動(dòng)
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
2.添加最新版本的依賴庫,最新版本如右所示,修改末尾的版本即可(因?yàn)槲矣袝r(shí)候更新版本了會忘記修改readme)
dependencies { compile 'com.github.Brioal:BrioalSetting:1.0' ////例如上面最新版本是1.1,則只要把1.0改成1.1即可使用最新版本 }
二、使用步驟:
1.xml布局文件
實(shí)際使用過程中發(fā)現(xiàn)如果與其他組件在一起,則滑動(dòng)事件會實(shí)效,暫時(shí)沒發(fā)現(xiàn)代碼里面怎么解決,設(shè)置focus
啥的都沒用,暫時(shí)的解決辦法是給組件添加一個(gè)父布局并且不包含其他組件即可,如下:
<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<>(); //要顯示的文字和實(shí)際的值,分別是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è)置圓點(diǎn)的邊框顏色 void setCircleRadius(int circleRadius) 設(shè)置圓點(diǎn)的半徑 void setCircleWidth(int circleWidth) 設(shè)置圓點(diǎn)的線條寬度 void setCenterColor(int centerColor) 設(shè)置選中的圓點(diǎn)的填充顏色 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ù)的動(dòng)態(tài)添加與刪除實(shí)例代碼
- Android實(shí)現(xiàn)ListView數(shù)據(jù)動(dòng)態(tài)加載的方法
- Android實(shí)現(xiàn)listview動(dòng)態(tài)加載數(shù)據(jù)分頁的兩種方法
- Android判斷touch事件點(diǎn)是否在view范圍內(nèi)的方法
- 如何讓安卓(Android)子控件超出父控件的范圍顯示
- Android百度地圖poi范圍搜索
- 一看就懂的Android APP開發(fā)入門教程
- Android基礎(chǔ)之使用Fragment控制切換多個(gè)頁面
- 六款值得推薦的android(安卓)開源框架簡介
- Android應(yīng)用開發(fā)SharedPreferences存儲數(shù)據(jù)的使用方法
相關(guān)文章
Android自定義ViewGroup的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-05-05Android仿微信朋友圈實(shí)現(xiàn)滾動(dòng)條下拉反彈效果
這篇文章主要為大家介紹了Android仿微信朋友圈實(shí)現(xiàn)滾動(dòng)條下拉反彈效果,感興趣的小伙伴們可以參考一下2016-01-01Android App開發(fā)中Gradle構(gòu)建過程的配置方法
這篇文章主要介紹了Android App開發(fā)中Gradle構(gòu)建過程的配置方法,包括在Gradle中配置manifest的方法,需要的朋友可以參考下2016-06-06Flutter通過Container實(shí)現(xiàn)時(shí)間軸效果
時(shí)間軸是前端UI經(jīng)常用到的效果,本文講解下Flutter如何通過Container實(shí)現(xiàn),感興趣的朋友可以了解下2021-05-05Android實(shí)現(xiàn)控件的縮放移動(dòng)功能
這篇文章主要介紹了android控件的縮放,移動(dòng)功能,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下2018-01-01Android利用RecyclerView實(shí)現(xiàn)全選、置頂和拖拽功能示例
列表控件可以說是我們絕大部分App中都會使用的,為了提升交互樂趣,我們經(jīng)常需要在列表中加入置頂、拖拽等操作,下面這篇文章主要介紹了Android利用RecyclerView如何實(shí)現(xiàn)全選、置頂和拖拽功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04Android 購物車加減功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 實(shí)現(xiàn)購物車加減功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04