您的位置:首页 > 移动开发 > Android开发

Android入门之RatingBar(纯java)

2011-09-08 20:46 411 查看




import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.widget.RatingBar.OnRatingBarChangeListener;

public class RatingBarTest extends Activity {

private LinearLayout mainLayout=null;//主容器
private TextView tv1=null;			//文本1
private RatingBar rb1=null;			//评分组件1
private TextView tv2=null;			//文本2
private RatingBar rb2=null;			//评分组件2

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainLayout_init();
setContentView(mainLayout);//显示主容器
}
/*mainLayout初始化*/
void mainLayout_init(){
mainLayout=new LinearLayout(this);
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-2, -2);
mainLayout.setLayoutParams(lp);
mainLayout.setOrientation(LinearLayout.VERTICAL);
tv1_init();
mainLayout.addView(tv1);
rb1_init();
mainLayout.addView(rb1);
tv2_init();
mainLayout.addView(tv2);
rb2_init();
mainLayout.addView(rb2);
}
/*tv1初始化*/
void tv1_init(){
tv1=new TextView(this);
tv1.setText("大图标风格\n");
tv1.append("这里显示得分");
}
/*rb1初始化*/
void rb1_init(){
rb1=new RatingBar(this,null,android.R.attr.ratingBarStyle);//默认,大图标风格
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-2, -2);
rb1.setLayoutParams(lp);
rb1.setNumStars(5);//设置星星个数为5
rb1.setStepSize(0.5f);//设置步长为0.5星
rb1.setRating(2.5f);//默认星星得分为2颗半
//绑定监听
OnRatingBarChangeListener orbcl=new OnRatingBarChangeListener(){
public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {
tv1.setText("大图标风格\n");
//小数点处理
int rat=(int)rating;
if(rat==rating){
tv1.append("当前得分:"+rat+"颗星");
}else{
tv1.append("当前得分:"+rating+"颗星");
}
}
};
rb1.setOnRatingBarChangeListener(orbcl);
}
/*tv2初始化*/
void tv2_init(){
tv2=new TextView(this);
tv2.setText("小图标风格\n");
tv2.append("这里显示得分");
}
/*rb2初始化*/
void rb2_init(){
rb2=new RatingBar(this,null,android.R.attr.ratingBarStyleSmall);//小图标风格
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-2, -2);
rb2.setLayoutParams(lp);
rb2.setIsIndicator(false);//小图标风格评分组件默认仅做指示器,如果要变为可评,必须修改这一属性
rb2.setNumStars(20);//设置星星个数为20
rb2.setStepSize(1.0f);//设置步长为1颗星
rb2.setRating(10.0f);//默认星星得分为10颗星
//绑定监听
OnRatingBarChangeListener orbcl=new OnRatingBarChangeListener(){
public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {
tv2.setText("小图标风格\n");
//小数点处理
int rat=(int)rating;
if(rat==rating){
tv2.append("当前得分:"+rat+"颗星");
}else{
tv2.append("当前得分:"+rating+"颗星");
}
}
};
rb2.setOnRatingBarChangeListener(orbcl);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: