Android入门之RatingBar(纯java)

     

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);
    }
}


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值