重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
ProgressBar有2個子控件:
成都創新互聯主營吉縣網站建設的網絡公司,主營網站建設方案,成都App定制開發,吉縣h5小程序開發搭建,吉縣網站營銷推廣歡迎吉縣等地區企業咨詢
SeekBar 拖動條控件
RatingBar 星級評分控件
1、拖動條控件
也可以使用自定義的滑塊:
android:min="0" android:max="100" android:progress="50" />
說明:
并不會自動顯示對應的刻度值。
滑塊可以滑動,但沒有事件響應。需要我們在.java文件中添加事件監聽:
SeekBar mySeekBar=findViewById(R.id.seekBar); mySeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { /* 三個形參: SeekBar seekBar 觸發此事件/監聽的Seekbar int progress 當前刻度值。 boolean fromUser 是否為用戶拖動產生的響應,這個不常用 雖然setText(int x)可以設置int型的值,但這個int指的是 R.string.app_name 這樣的常量值,不是整型數字。不能setText(progress)這樣用,要先轉換為String。 */ //滑動滑塊時觸發 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { //判斷改變的是否是指定的滑動條。預防當前Activity對應的xml布局中有多個滑動條,如果只有一個滑動條,則不必判斷 if (seekBar.getId()==R.id.seekBar){ } } //滑動開始時觸發 @Override public void onStartTrackingTouch(SeekBar seekBar) { if (seekBar.getId()==R.id.seekBar){ } } //滑動停止時觸發 @Override public void onStopTrackingTouch(SeekBar seekBar) { if (seekBar.getId()==R.id.seekBar){ } } }); }
滑動滑塊一次觸發的事件:
最先開始時觸發 onStartTrackingTouch()
,滑動過程中一直觸發 onProgressChanged(),
最后停止時觸發 onStopTrackingTouch()。
就是說滑動過程中會不停地觸發 onProgressChanged() 。
2、星級評分控件
總共默認5顆星,初始默認選擇0顆星,默認可修改,默認步長為0.5,即可以點亮半顆星。也可手動設置:
android:numStars="7" android:rating="5" android:stepSize="1" />
有時候只是向用戶展示評分,并不需要用戶評分,比如排行旁的xx指數,這時就需要設置 android:isIndicator="true" 不可修改。
默認為false,可修改。
在.java文件中獲取已點亮的星數:
RatingBar ratingBar=findViewById(R.id.ratingBar); //獲取已點的星數,因為步長可以為小數,所以獲取到的是float float rates=ratingBar.getRating();
在Android中,幾乎所有控件都提供了setXxx()、getXxx()方法供我們在.java文件中操作控件的屬性。
總結
以上所述是小編給大家介紹的Android開發之拖動條/滑動條控件、星級評分控件功能的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!