Android開發(fā)之拖動條/滑動條控件、星級評分控件功能的實例代碼
ProgressBar有2個子控件:
SeekBar 拖動條控件
RatingBar 星級評分控件
1、拖動條控件
<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" />
說明:
并不會自動顯示對應(yīng)的刻度值。
滑塊可以滑動,但沒有事件響應(yīng)。需要我們在.java文件中添加事件監(jiān)聽:
SeekBar mySeekBar=findViewById(R.id.seekBar); mySeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { /* 三個形參: SeekBar seekBar 觸發(fā)此事件/監(jiān)聽的Seekbar int progress 當(dāng)前刻度值。 boolean fromUser 是否為用戶拖動產(chǎn)生的響應(yīng),這個不常用 雖然setText(int x)可以設(shè)置int型的值,但這個int指的是 R.string.app_name 這樣的常量值,不是整型數(shù)字。不能setText(progress)這樣用,要先轉(zhuǎn)換為String。 */ //滑動滑塊時觸發(fā) @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { //判斷改變的是否是指定的滑動條。預(yù)防當(dāng)前Activity對應(yīng)的xml布局中有多個滑動條,如果只有一個滑動條,則不必判斷 if (seekBar.getId()==R.id.seekBar){ } } //滑動開始時觸發(fā) @Override public void onStartTrackingTouch(SeekBar seekBar) { if (seekBar.getId()==R.id.seekBar){ } } //滑動停止時觸發(fā) @Override public void onStopTrackingTouch(SeekBar seekBar) { if (seekBar.getId()==R.id.seekBar){ } } }); }
滑動滑塊一次觸發(fā)的事件:
最先開始時觸發(fā) onStartTrackingTouch()
,滑動過程中一直觸發(fā) onProgressChanged(),
最后停止時觸發(fā) onStopTrackingTouch()。
就是說滑動過程中會不停地觸發(fā) onProgressChanged() 。
2、星級評分控件
<RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
總共默認(rèn)5顆星,初始默認(rèn)選擇0顆星,默認(rèn)可修改,默認(rèn)步長為0.5,即可以點亮半顆星。也可手動設(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" /> <!--步長-->
有時候只是向用戶展示評分,并不需要用戶評分,比如排行旁的xx指數(shù),這時就需要設(shè)置 android:isIndicator="true" 不可修改。
默認(rèn)為false,可修改。
在.java文件中獲取已點亮的星數(shù):
RatingBar ratingBar=findViewById(R.id.ratingBar); //獲取已點的星數(shù),因為步長可以為小數(shù),所以獲取到的是float float rates=ratingBar.getRating();
在Android中,幾乎所有控件都提供了setXxx()、getXxx()方法供我們在.java文件中操作控件的屬性。
總結(jié)
以上所述是小編給大家介紹的Android開發(fā)之拖動條/滑動條控件、星級評分控件功能的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Android自定義照相機(jī)Camera出現(xiàn)黑屏的解決方法
這篇文章主要介紹了Android自定義照相機(jī)Camera出現(xiàn)黑屏的解決方法,分析了黑屏出現(xiàn)的原因及參考解決方法,需要的朋友可以參考下2016-08-08Android 使用fast-verification實現(xiàn)驗證碼填寫功能的實例代碼
這篇文章主要介紹了Android 使用fast-verification實現(xiàn)驗證碼填寫功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04android自定義按鈕示例(重寫imagebutton控件實現(xiàn)圖片按鈕)
由于項目這種類型的圖片按鈕比較多,所以重寫了ImageButton類,現(xiàn)在把代碼分享給大家,需要的朋友可以參考下2014-03-03Android開發(fā)中Toast顯示消息的方法小結(jié)
這篇文章主要介紹了Android開發(fā)中Toast顯示消息的方法,結(jié)合實例形式總結(jié)分析了Toast的功能、創(chuàng)建Toast對象及調(diào)用相關(guān)函數(shù)顯示消息提示框的操作技巧,需要的朋友可以參考下2016-10-10實例講解Android中ContentProvider組件的使用方法
這篇文章主要介紹了Android中ContentProvider組件的使用方法,包括ContentProvider使用單元測試的步驟,需要的朋友可以參考下2016-04-04