各位大侠,小弟想做个评分的控件,在网上找到RatingBar,可是我咋控制不了他啊,我设置它的星星数量是6个,4个是选中的,可是显示出来一大堆星星,怎么都控制不了,请问这是怎么搞的哇,小弟初学,请各位大大多多指点,以下是我的XML<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent"  android:background="#99575757">    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:background="#99575757" android:orientation="horizontal"
        android:layout_gravity="left" >
        <Button android:text="@string/grade_OK" android:id="@+id/grade_OK" 
                        android:layout_width="10dp" android:gravity="center_horizontal"
                        android:layout_height="wrap_content" android:textSize="16dp"
                        android:layout_weight="4" android:background="#343133">
                        </Button>
        <RatingBar android:id="@+id/grating_bar" android:layout_marginLeft="5dip"
                   android:layout_width="wrap_content" android:background="#99575757"
                   android:layout_gravity="center_vertical"  android:isIndicator="false"
                   android:numStars="6" android:rating="4" 
                   android:layout_height="wrap_content" android:layout_weight="1"
                   style="?android:attr/ratingBarStyleSmall"
                     />
    </LinearLayout>
    
</LinearLayout>

解决方案 »

  1.   

    什么attrs.xml?是自己写的么?能给个例子么
      

  2.   


    RatingBar是Adnroid中的评分条。效果挺得的
      源码下载  一、概述  RatingBar是SeekBar和ProgressBar的扩展,用星星来评级。使用的默认大小RatingBar时,用户可以触摸/拖动或使用键来设置评分,它有俩种样式(大、小),其中大的只适合指示,不适合于用户交互。  二、实例  1.布局文件 < ?xml version="1.0" encoding="utf-8"?>  < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:paddingLeft="10dip"  android:layout_width="match_parent"  android:layout_height="match_parent">  < RatingBar android:id="@+id/ratingbar1"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:numStars="3"  android:rating="2.5" />  < RatingBar android:id="@+id/ratingbar2"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:numStars="5"  android:rating="2.25" />  < LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_marginTop="10dip">  < TextView android:id="@+id/rating"  android:layout_width="wrap_content"  android:layout_height="wrap_content" />  < RatingBar android:id="@+id/small_ratingbar"  style="?android:attr/ratingBarStyleSmall"  android:layout_marginLeft="5dip"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_vertical" />  < /LinearLayout>  < RatingBar android:id="@+id/indicator_ratingbar"  style="?android:attr/ratingBarStyleIndicator"       android:layout_marginLeft="5dip"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_vertical" />  < /LinearLayout>2.Java代码     package wjq.WidgetDemo;  import android.app.Activity;  import android.os.Bundle;  import android.widget.RatingBar;  import android.widget.TextView;  import android.widget.RatingBar.OnRatingBarChangeListener;  public class RatingBarDemo extends Activity implements  OnRatingBarChangeListener {  private RatingBar mSmallRatingBar;  private RatingBar mIndicatorRatingBar;  private TextView mRatingText;  /*  * (non-Javadoc)  *  * @see android.app.Activity#onCreate(android.os.Bundle)  */  @Override  protected void onCreate(Bundle savedInstanceState) {  // TODO Auto-generated method stub  super.onCreate(savedInstanceState);  setContentView(R.layout.ratingbarpage);  mRatingText = (TextView) findViewById(R.id.rating);  // We copy the most recently changed rating on to these indicator-only  // rating bars  mIndicatorRatingBar = (RatingBar) findViewById(R.id.indicator_ratingbar);  mSmallRatingBar = (RatingBar) findViewById(R.id.small_ratingbar);  // The different rating bars in the layout. Assign the listener to us.  ((RatingBar)findViewById(R.id.ratingbar1)).setOnRatingBarChangeListener(this);  ((RatingBar)findViewById(R.id.ratingbar2)).setOnRatingBarChangeListener(this);  }  @Override  public void onRatingChanged(RatingBar ratingBar, float rating,  boolean fromUser) {  final int numStars = ratingBar.getNumStars();  mRatingText.setText(  " 受欢迎度" + rating + "/" + numStars);        // Since this rating bar is updated to reflect any of the other rating  // bars, we should update it to the current values.  if (mIndicatorRatingBar.getNumStars() != numStars) {  mIndicatorRatingBar.setNumStars(numStars);  mSmallRatingBar.setNumStars(numStars);  }  if (mIndicatorRatingBar.getRating() != rating) {  mIndicatorRatingBar.setRating(rating);  mSmallRatingBar.setRating(rating);  }  final float ratingBarStepSize = ratingBar.getStepSize();  if (mIndicatorRatingBar.getStepSize() != ratingBarStepSize) {  mIndicatorRatingBar.setStepSize(ratingBarStepSize);  mSmallRatingBar.setStepSize(ratingBarStepSize);  }  }  }
      

  3.   

    我直接把你的这俩句ndroid:numStars="6" android:rating="4" 
    帖过去运行了,可以控制星星数量阿你再看看你的代码.
      

  4.   

    http://download.csdn.net/source/2819691
    里面有详细的代码
      

  5.   

    有没有人以前做过rating bar?