Android開(kāi)發(fā)之拖動(dòng)條/滑動(dòng)條控件、星級(jí)評(píng)分控件功能的實(shí)例代碼
ProgressBar有2個(gè)子控件:
SeekBar 拖動(dòng)條控件
RatingBar 星級(jí)評(píng)分控件
1、拖動(dòng)條控件

<SeekBar
android:layout_width="300dp"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:min="0"
android:max="100"
android:progress="50" /> <!--滑塊默認(rèn)位置-->
也可以使用自定義的滑塊:

<SeekBar
android:layout_width="300dp"
android:layout_height="100dp"
android:id="@+id/seekBar"
android:thumb="@drawable/a" <!--使用自定義的圖片作為滑塊-->
android:min="0"
android:max="100"
android:progress="50" />
說(shuō)明:
并不會(huì)自動(dòng)顯示對(duì)應(yīng)的刻度值。
滑塊可以滑動(dòng),但沒(méi)有事件響應(yīng)。需要我們?cè)?java文件中添加事件監(jiān)聽(tīng):
SeekBar mySeekBar=findViewById(R.id.seekBar);
mySeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
/*
三個(gè)形參:
SeekBar seekBar 觸發(fā)此事件/監(jiān)聽(tīng)的Seekbar
int progress 當(dāng)前刻度值。
boolean fromUser 是否為用戶(hù)拖動(dòng)產(chǎn)生的響應(yīng),這個(gè)不常用
雖然setText(int x)可以設(shè)置int型的值,但這個(gè)int指的是 R.string.app_name 這樣的常量值,不是整型數(shù)字。不能setText(progress)這樣用,要先轉(zhuǎn)換為String。
*/
//滑動(dòng)滑塊時(shí)觸發(fā)
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//判斷改變的是否是指定的滑動(dòng)條。預(yù)防當(dāng)前Activity對(duì)應(yīng)的xml布局中有多個(gè)滑動(dòng)條,如果只有一個(gè)滑動(dòng)條,則不必判斷
if (seekBar.getId()==R.id.seekBar){
}
}
//滑動(dòng)開(kāi)始時(shí)觸發(fā)
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
if (seekBar.getId()==R.id.seekBar){
}
}
//滑動(dòng)停止時(shí)觸發(fā)
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (seekBar.getId()==R.id.seekBar){
}
}
});
}
滑動(dòng)滑塊一次觸發(fā)的事件:
最先開(kāi)始時(shí)觸發(fā) onStartTrackingTouch() ,滑動(dòng)過(guò)程中一直觸發(fā) onProgressChanged(),最后停止時(shí)觸發(fā) onStopTrackingTouch()。
就是說(shuō)滑動(dòng)過(guò)程中會(huì)不停地觸發(fā) onProgressChanged() 。
2、星級(jí)評(píng)分控件

<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
總共默認(rèn)5顆星,初始默認(rèn)選擇0顆星,默認(rèn)可修改,默認(rèn)步長(zhǎng)為0.5,即可以點(diǎn)亮半顆星。也可手動(dòng)設(shè)置:
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ratingBar"
android:isIndicator="true" <!--是否可修改,true是不可修改,false是可修改,默認(rèn)為fasle-->
android:numStars="7" <!--總星數(shù)-->
android:rating="5" <!--初始默認(rèn)星數(shù)-->
android:stepSize="1" /> <!--步長(zhǎng)-->
有時(shí)候只是向用戶(hù)展示評(píng)分,并不需要用戶(hù)評(píng)分,比如排行旁的xx指數(shù),這時(shí)就需要設(shè)置 android:isIndicator="true" 不可修改。
默認(rèn)為false,可修改。
在.java文件中獲取已點(diǎn)亮的星數(shù):
RatingBar ratingBar=findViewById(R.id.ratingBar);
//獲取已點(diǎn)的星數(shù),因?yàn)椴介L(zhǎng)可以為小數(shù),所以獲取到的是float
float rates=ratingBar.getRating();
在Android中,幾乎所有控件都提供了setXxx()、getXxx()方法供我們?cè)?java文件中操作控件的屬性。
總結(jié)
以上所述是小編給大家介紹的Android開(kāi)發(fā)之拖動(dòng)條/滑動(dòng)條控件、星級(jí)評(píng)分控件功能的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
android實(shí)現(xiàn)左右側(cè)滑菜單效果
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)左右側(cè)滑菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Android開(kāi)發(fā)實(shí)現(xiàn)webview中img標(biāo)簽加載本地圖片的方法
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)webview中img標(biāo)簽加載本地圖片的方法,結(jié)合實(shí)例形式分析了webview加載本地圖片的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android畫(huà)圖實(shí)現(xiàn)MPAndroidchart折線圖示例詳解
這篇文章主要為大家介紹了Android畫(huà)圖實(shí)現(xiàn)MPAndroidchart折線圖示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Android中實(shí)現(xiàn)淘寶購(gòu)物車(chē)RecyclerView或LIstView的嵌套選擇的邏輯
這篇文章主要介紹了Android中實(shí)現(xiàn)淘寶購(gòu)物車(chē)RecyclerView或LIstView的嵌套選擇的邏輯,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
Android解析服務(wù)器端發(fā)來(lái)的xml數(shù)據(jù)示例
Android跟服務(wù)器交互數(shù)據(jù),有時(shí)數(shù)據(jù)量大時(shí),就需要以xml形式的交互數(shù)據(jù),下面與大家分享下使用XmlPullParser來(lái)解析xml數(shù)據(jù),感興趣的朋友可以參考下哈2013-06-06
Android ViewPager畫(huà)廊效果詳解及實(shí)例
這篇文章主要介紹了Android ViewPager畫(huà)廊效果詳解及實(shí)例的相關(guān)資料,這里提供實(shí)例代碼及實(shí)現(xiàn)效果圖,具有參考價(jià)值,需要的朋友可以參考下2016-12-12
Android框架學(xué)習(xí)之Volley和Glide詳解
這篇文章主要給大家介紹了關(guān)于Android框架學(xué)習(xí)之Volley和Glide的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Android自定義Style實(shí)現(xiàn)方法
Android自定義Style實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-06-06

