AndroidUI:RatingBar

来源:互联网 发布:热血传奇手游源码 编辑:程序博客网 时间:2024/05/22 04:25

继承关系

AppCompatRatingBar
这里写图片描述

效果图

这里写图片描述 这里写图片描述

xml

属性 参数 android:isIndicator 是否仅用作显示,true:用户点击无效,默认是true android:numStars 星星的数量 android:rating 默认几个,float android:stepSize 点击一次增加多少
<RatingBar    style="@android:style/Widget.DeviceDefault.RatingBar.Small"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:isIndicator="false"    android:numStars="5"    android:rating="2.5"    android:stepSize="0.5"/>

上面这些属性也可以用java代码设置。

点击事件

点击事件中可以处理我们自己的逻辑。不给ratingbar添加监听,点击他也会变化

ratingBar = (RatingBar) findViewById(R.id.ratingBar);ratingBar.setRating(3.5f);ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {    @Override    public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {        if (fromUser) {//fromUser rating数量是否发生改变            ratingBar.setRating(rating);        }        Log.d(TAG, "rating=" + ratingBar.getRating());        Log.d(TAG, "fromUser=" + fromUser);    }});

自定义progressDrawable

<RatingBar     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_marginTop="10dp"     android:isIndicator="false"     android:numStars="5"     android:progressDrawable="@drawable/ratingbar_drawable"     android:stepSize="0.5"/>
<?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/rating_small_empty" />    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/rating_small_half" />    <item android:id="@android:id/progress" android:drawable="@drawable/rating_small_full" /></layer-list>

Demo

https://git.oschina.net/AndroidUI/RatingBar01

0 0
原创粉丝点击