8000 GitHub - Jenior/XLHRatingBar: 自定义Ratingbar,方便指定每个星星的大小、图标、间距
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Jenior/XLHRatingBar

 
 

Repository files navigation

XLHRatingBar

自定义Ratingbar,与系统提供的RatingBar相比可更方便指定每个星星的图标、大小及各个星星的间距,支持监听选中状态的变化

##在xml布局文件中使用:

  <com.example.xlhratingbar_lib.XLHRatingBar
    xmlns:xlhRatingBar="http://schemas.android.com/apk/res-auto"
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        xlhRatingBar:canEdit="true"
        xlhRatingBar:differentSize="true"
        xlhRatingBar:dividerWidth="5dp"
        xlhRatingBar:countSelected="2"
        xlhRatingBar:starCount="5"
        xlhRatingBar:stateResId="@drawable/comment_ratingbar_selector"
        xlhRatingBar:widthAndHeight="50dp"
        />

其定义属性中:

  • canEdit true 可以点击选择不同的星星,默认false
  • differentSize 星星的大小可以不同(中间的最大,两端的依次变小且星星总数为奇数时才有效)
  • dividerWidth 单个星星之间的间隔
  • starCount 星星的总个数
  • widthAndHeight 星星的大小
  • countSelected 已经选择的星星的个数
  • stateResId单个星星的不同状态,在drawable下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/evaluation_order_star_press" android:state_checked="true"></item>
   <item android:drawable="@drawable/evaluation_order_star" android:state_checked="false"></item>
</selector>

##在代码中使用:

 XLHRatingBar ratingBar = (XLHRatingBar) findViewById(R.id.ratingBar);
       ratingBar.setCountNum(5);
       ratingBar.setCountSelected(1);
       ratingBar.setOnRatingChangeListener(new XLHRatingBar.OnRatingChangeListener() {
           @Override
           public void onChange(int countSelected) {
               tvResult.setText(countSelected + "");
           }
       });


附上效果图一张

##引用 gradle dependency

dependencies {
     compile 'com.xingliuhua:xlhratingbar_lib:1.0.1'
}

About

自定义Ratingbar,方便指定每个星星的大小、图标、间距

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%
0