学习RatingBar的方法:
package com.example.ratingbar;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
public class MainActivity extends Activity {
private RatingBar ratingBar;
private Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ratingBar = (RatingBar)findViewById(R.id.RatingBar);
ratingBar.setOnRatingBarChangeListener(new RatingBarListener());
button = (Button)findViewById(R.id.butotn);
button.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener {
public void onClick(View arg0) {
//setRating设置当前的得分,getRating得到当前的得分,每点一次按钮进度条向前0.5
ratingBar.setRating(ratingBar.getRating() + 0.5f);
}
}
class RatingBarListener implements OnRatingBarChangeListener {
//第一参数为当前RatingBar对象,第二参数为进度条的位置,第三参数为如果是用户操作为true,反之为flash
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
System.out.println("rating: " + rating + "fromUser:" + fromUser);
}
}
}
全部代码:
package com.example.ratingbar;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
public class MainActivity extends Activity {
private RatingBar ratingBar;
private Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ratingBar = (RatingBar)findViewById(R.id.RatingBar);
ratingBar.setOnRatingBarChangeListener(new RatingBarListener());
button = (Button)findViewById(R.id.butotn);
button.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener {
public void onClick(View arg0) {
ratingBar.setRating(ratingBar.getRating() + 0.5f);
}
}
class RatingBarListener implements OnRatingBarChangeListener {
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
System.out.println("rating: " + rating + "fromUser:" + fromUser);
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RatingBar
android:id="@+id/RatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//设置星星的个数
android:numStars="4"
//设置进度条每次前进0.5
android:stepSize="0.5"/>
<Button
android:id="@+id/butotn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/RatingBar"
android:text="RatingBar"/>
</RelativeLayout>