android之RatingBar

            RatingBar是基於SeekBarProgressBar的擴展,用星型來顯示等級評定。使用RatingBar的默認大小時,用戶可以觸摸/拖動或使用鍵來設置評分,它有兩種樣式(小風格用ratingBarStyleSmall,大風格用ratingBarStyleIndicator)。在工程中設置了三種樣式風格的RatingBar,並且當點擊按鈕的時候可以改變星星的級數。

效果圖:

 

 

layout文件中的xml文件:

 

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="fill_parent" 
  3.     android:layout_height="fill_parent" 
  4.     android:orientation="vertical"   
  5.     android:background="#ff00ff"> 
  6.  
  7.     <TextView 
  8.         android:id="@+id/myTextView" 
  9.         android:layout_width="fill_parent" 
  10.         android:layout_height="wrap_content" 
  11.         android:text="當前評分:" /> 
  12.     <RatingBar   
  13.         android:id="@+id/myRatingBar1" 
  14.         android:numStars="5" //設置星星的數量
  15.         android:rating="5"  //設置當前的星星級數
  16.         android:layout_width="wrap_content" 
  17.         android:layout_height="wrap_content" 
  18.         android:isIndicator="false" 
  19.         style="?android:attr/ratingBarStyle" //設置RatingBar的樣式
  20.         /> 
  21.       
  22.     <RatingBar   
  23.         android:id="@+id/myRatingBar2" 
  24.         android:numStars="5" 
  25.         android:rating="5" 
  26.         android:layout_width="wrap_content" 
  27.         android:layout_height="wrap_content" 
  28.         android:isIndicator="false" 
  29.         style="?android:attr/ratingBarStyleIndicator" 
  30.         /> 
  31.       
  32.     <RatingBar   
  33.         android:id="@+id/myRatingBar3" 
  34.         android:numStars="5" 
  35.         android:rating="5" 
  36.         android:layout_width="wrap_content" 
  37.         android:layout_height="wrap_content" 
  38.         android:isIndicator="false" 
  39.         style="?android:attr/ratingBarStyleSmall" 
  40.         /> 
  41.  
  42. </LinearLayout> 

Activaty.java文件

 

  1. package com.cheng.ratingbarproject;  
  2.  
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.view.Menu;  
  6. import android.widget.RatingBar;  
  7. import android.widget.TextView;  
  8. import android.widget.RatingBar.OnRatingBarChangeListener;  
  9.  
  10. public class RatingBarProject extends Activity {  
  11.     //定義組件  
  12.     private RatingBar mRatingBar1;  
  13.     private RatingBar mRatingBar2;  
  14.     private RatingBar mRatingBar3;  
  15.     private TextView mTextView;  
  16.     @Override 
  17.     protected void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         super.setContentView(R.layout.main);  
  20.         //獲得組件  
  21.         mRatingBar1 = (RatingBar)findViewById(R.id.myRatingBar1);  
  22.         mRatingBar2 = (RatingBar)findViewById(R.id.myRatingBar2);  
  23.         mRatingBar3 = (RatingBar)findViewById(R.id.myRatingBar3);  
  24.         mTextView = (TextView)findViewById(R.id.myTextView);  
  25.           
  26.         //設置RatingBar的監聽器  
  27.         OnRatingBarChangeListener orbcl = new OnRatingBarChangeListener() {  
  28.             //當點擊的時候將當前的星星級數改變爲點擊的位置的值  
  29.             @Override 
  30.             public void onRatingChanged(RatingBar ratingBar, float rating,  
  31.                     boolean fromUser) {  
  32.                 // TODO Auto-generated method stub  
  33.                 mRatingBar2.setRating(rating);  
  34.                 mRatingBar3.setRating(rating);  
  35.                 mTextView.setText("當前分數:"+ rating);  
  36.                   
  37.             }  
  38.         };  
  39.         //綁定監聽器  
  40.         mRatingBar1.setOnRatingBarChangeListener(orbcl);  
  41.     }  
  42.  
  43.     @Override 
  44.     public boolean onCreateOptionsMenu(Menu menu) {  
  45.         // Inflate the menu; this adds items to the action bar if it is present.  
  46.         getMenuInflater().inflate(R.menu.main, menu);  
  47.         return true;  
  48.     }  
  49.  
  50. }  

ok,今天到此了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章