欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開(kāi)發(fā)之拖動(dòng)條/滑動(dòng)條控件、星級(jí)評(píng)分控件功能的實(shí)例代碼

 更新時(shí)間:2019年05月20日 10:05:51   作者:chenhongyong  
這篇文章主要介紹了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  是否為用戶拖動(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í)候只是向用戶展示評(píng)分,并不需要用戶評(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)文章

最新評(píng)論