所用图片:
效果图:
RatingBarActivity.java
package com.hlx.demo;
import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
public class RatingBarActivity extends Activity
{
private RatingBar ratingbar=null;
private TextView text=null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
this.ratingbar=(RatingBar)super.findViewById(R.id.ratingbar);
this.text=(TextView)super.findViewById(R.id.text);
this.ratingbar.setOnRatingBarChangeListener(new setOnRatingBarChangeListenerImpl());
}
private class setOnRatingBarChangeListenerImpl implements OnRatingBarChangeListener
{
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser)
{
int num=(int) rating;
String result=null;
switch (num)
{
case 6:
result="神级";
break;
case 5:
result="非常满意";
break;
case 4:
result="比较满意";
break;
case 3:
result="一般般";
break;
case 2:
result="不很好";
break;
case 1:
result="非常不满意";
break;
default:
break;
}
RatingBarActivity.this.text.setText(result);
}
}
}
res.drawable.star_conf_file.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/background"
android:drawable="@drawable/star_empty"/>
<item
android:id="@+id/secondaryProgress"
android:drawable="@drawable/star_empty"/>
<item
android:id="@+android:id/progress"
android:drawable="@drawable/star_full"/>
</layer-list>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RatingBar
android:id="@+id/ratingbar"
android:numStars="6"
android:stepSize="1"
android:isIndicator="false"
style="@style/myratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
res.values.style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="myratingbar"
parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">
@drawable/star_conf_file</item>
<item name="android:minHeight">53dip</item>
<item name="android:maxHeight">70dip</item>
</style>
</resources>