Android控件开发之RatingBar

来源:互联网 发布:下载唯品会手机淘宝 编辑:程序博客网 时间:2024/05/01 00:56

RatingBar是SeekBar和ProgressBar的扩展,用星星来评级。使用的默认大小RatingBar时,用户可以触摸/拖动或使用键来设置评分


RatingBar效果



评分控件中两个比较重要的方法:

[html] view plaincopy
  1. RatingBar.setRating(flaot rating);   
  2. RatingBar.getRating();  

本程序main.xml源码

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent">  
  6. <TextView    
  7.     android:id="@+id/text"  
  8.     android:layout_width="fill_parent"   
  9.     android:layout_height="wrap_content"   
  10.     android:text="这是一个评分控件<a href="mailto:"> <ratingbar android:id="@+id/ratingbar">    android:layout_width="wrap_content"  
  11.     android:layout_height="wrap_content"  
  12.     android:numStars="5"  
  13.     android:rating="1.5"  
  14.     android:stepSize="0" />  
  15. <!-- android:numStars="5"总级别,总分,星星个数 -->  
  16. <!--  android:rating="1.5"当前级别,分数,星星个数-->  
  17. </LinearLayout>  
  18.   
  19.   
  20.   
  21.   
  22.   
  23. </ratingbar></a>  


事件监听处理

[html] view plaincopy
  1. RatingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener()  
  2. {   
  3.     public void onRatingChanged(RatingBar ratingBar, float rating,  boolean fromUser)   
  4.   
  5.     {   
  6.            //doing actions   
  7.     }   
  8. });  



本程序java源码

[html] view plaincopy
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3. import android.widget.RatingBar;  
  4. import android.widget.TextView;  
  5.   
  6. public class RatingBarActivity extends Activity   
  7. {  
  8.     /** Called when the activity is first created. */  
  9.     @Override  
  10.     public void onCreate(Bundle savedInstanceState)   
  11.     {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.main);  
  14.           
  15.         final RatingBar ratingbar = (RatingBar)findViewById(R.id.ratingbar);  
  16.         final TextView text = (TextView)findViewById(R.id.text);  
  17.           
  18.         ratingbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener()   
  19.         {  
  20.         @Override  
  21.         public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser)   
  22.         {  
  23.             text.setText("Rating:" + rating);  
  24.   
  25.         }  
  26.     });  
  27.     }  
  28. }  
0 0
原创粉丝点击