2012-12-04 60 views
4

我想讀的評價欄中的價值,同時滑動來改變進出口使用setOnRatingBarChangeListener此文額定值(差,美觀大方等),但它的用戶發佈後的運作手指吧。我也試過onDragListener,但沒有成功。 確定我在xml中有android:isIndicator="false",但沒有變化。得到的RatingBar價值,同時滑動

是否有任何其他監聽器,用於獲取評級即刻碼 - 恆星正確redrawed而滑動。 在此先感謝

羅馬

+0

你得到任何解決方案 –

回答

1

你必須延長RatingBar,覆蓋onTouchEvent()和檢查MotionEvent.ACTION_MOVE事件。

public boolean onTouchEvent(MotionEvent event) { 
    switch (event.getAction()) { 
     case MotionEvent.ACTION_MOVE: 
      if (isPressed()) { 
       final float x = event.getX(); 
       final float THRESHOLD = 1.0; 
       if (Math.abs(x - prevX) > THRESHOLD) { 
        getProgress(); // Now compare with previous progress 
       } 
       prevX = x; 
      } 
    } 
} 
+0

u能詳細介紹一下如何使用這個 –

0

上登錄貓代碼打印的評分,而當前值,它的滑動。

final RatingBar ratingBar = (RatingBar) findViewById(R.id.rating_bar); 

ratingBar.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      switch (event.getAction()) { 
       case MotionEvent.ACTION_MOVE: 
        Log.d("LOG", String.format("%f", ratingBar.getRating()); 

       } 
      return false; 
     } 
});