等级条RatingBar(星型打分)

RatingBar是基于SeekBar(滑动条)和ProgressBar(进度条)的扩展,用星型来显示等级评分。使用RatingBar的默认大小时,用户

可以触摸/拖动或者使用键来设置评分。它有两种样式(小风格ratingBarStyleSmall,大风格用ratingBarStglelndicator)其中大的只适合指示,不适合与用户交互

style="?android:attr/ratingBarStyleSmall"

只有当等级条布局的宽被设置为wrap_content时,设置的星星数量(通过函数setNumStars(int )或者在xml的布局文件中定义)将显示出来         

事件处理接口:RatingBar.onRatingBarChangeListener

RatingBar XML属性:

android:islndicator 是否是一个指示器(用户无法进行更改)

android:numStars 显示的星型数量,必须是一个整形值

android:rating 默认的评分,必须是一个浮点类型

android:stepSize  评分的步长,必须是浮点类型,像1.2        

 

//评分控件中两个比较重要的方法:
RatingBar.setRating(flaot rating);//设置等级
RatingBar.getRating();//获取等级

 

public class MainActivity extends Activity {
    private RatingBar ratingbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ratingbar = (RatingBar) findViewById(R.id.ratingbar);
        ratingbar.setMax(10);//这几个星型代表的总值
        ratingbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {

            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Toast.makeText(MainActivity.this, rating+"", Toast.LENGTH_SHORT).show();
            }
        });
    }

}

 改变评分条默认的图片样式:

<RatingBar 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/rating_bar"
                android:isIndicator="false"
                android:progressDrawable="@drawable/rating_bg"
                android:numStars="5"
                android:stepSize="1.0"/>

上面加粗的:

<?xml version="1.0" encoding="utf-8"?>  
<layer-list  xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:id="@android:id/background" android:drawable="@drawable/icon_collection" /> 星星没选的图片 
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/star_half" />  星星选一半的图片
    <item android:id="@android:id/progress" android:drawable="@drawable/icon_collection_full" />  星星选择的图片
</layer-list>  

效果图:  (需要UI切的图大点)

                                                                                          

posted @ 2016-06-04 13:52  ts-android  阅读(794)  评论(0编辑  收藏  举报