2012-10-10 43 views
0

我的目標是創建一個像android一樣的星場,他們有一個評級星級字段。我來儘量做到以下幾點:評分星星喜歡在android中

  • 創建星域(5)
  • 點擊時,位圖的變化。
  • 當「未點擊」位圖變回默認狀態時。

我的下一步就是要做到以下幾點: 如果星1不然後點擊所有4星後,一定不要點擊,如果星2點擊然後星3必須可以點擊星辰4-5切不可如果所有5顆星都被選中,則可點擊(然後向後)只有星5必須是可點擊的,如果星5和4未點擊,則星3必須是可點擊的星2-1不能點擊等。

我可以提供你用一段代碼(檢查鏈接)與我迄今爲止所做的: http://supportforums.blackberry.com/t5/Java-Development/Rating-Stars-like-in-android/m-p/1942559

請讓我知道如果你有一個我想知道如何做到我想達到的目標,謝謝。

回答

0
LabelField RateDeal = new LabelField("Rating: "); 
    HorizontalFieldManager StarManager=new HorizontalFieldManager(USE_ALL_WIDTH); 
    final Bitmap StarNotClicked = Bitmap.getBitmapResource("rating_star.png"); 
    final Bitmap StarClicked = Bitmap.getBitmapResource("rating_star_focus.png"); 

    Star1 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){ 
     protected boolean navigationClick(int status, int time){ 
      fieldChangeNotify(1); 
      Star1.setBitmap(StarClicked); 
      Star2.setBitmap(StarNotClicked); 
      Star3.setBitmap(StarNotClicked); 
      Star4.setBitmap(StarNotClicked); 
      Star5.setBitmap(StarNotClicked); 
      AmountOfStarsSelected(1); 
      return true; 
     } 
    }; 
    Star2 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){ 
     protected boolean navigationClick(int status, int time){ 
      fieldChangeNotify(1); 
      Star1.setBitmap(StarClicked); 
      Star2.setBitmap(StarClicked); 
      Star3.setBitmap(StarNotClicked); 
      Star4.setBitmap(StarNotClicked); 
      Star5.setBitmap(StarNotClicked); 
      AmountOfStarsSelected(2); 
      return true; 
     } 
    }; 
    Star3 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){ 
     protected boolean navigationClick(int status, int time){ 
      fieldChangeNotify(1); 
      Star1.setBitmap(StarClicked); 
      Star2.setBitmap(StarClicked); 
      Star3.setBitmap(StarClicked); 
      Star4.setBitmap(StarNotClicked); 
      Star5.setBitmap(StarNotClicked); 
      AmountOfStarsSelected(3); 
      return true; 
     } 
    }; 
    Star4 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){ 
     protected boolean navigationClick(int status, int time){ 
      fieldChangeNotify(1); 
      Star1.setBitmap(StarClicked); 
      Star2.setBitmap(StarClicked); 
      Star3.setBitmap(StarClicked); 
      Star4.setBitmap(StarClicked); 
      Star5.setBitmap(StarNotClicked); 
      AmountOfStarsSelected(4); 
      return true; 
     } 
    }; 
    Star5 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){ 
     protected boolean navigationClick(int status, int time){ 
      fieldChangeNotify(1); 
      Star1.setBitmap(StarClicked); 
      Star2.setBitmap(StarClicked); 
      Star3.setBitmap(StarClicked); 
      Star4.setBitmap(StarClicked); 
      Star5.setBitmap(StarClicked); 
      AmountOfStarsSelected(5); 
      return true; 
     } 
    }; 
    StarManager.add(Star1); 
    StarManager.add(Star2); 
    StarManager.add(Star3); 
    StarManager.add(Star4); 
    StarManager.add(Star5); 
     add(StarManager);