Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Space Between stars of ratingBar

Tags:

android

rating

I need insert a space between the stars of my ratingBar, example the ratingbar is well:

enter image description here

but I need it thus:

enter image description here

how i can do this?

like image 258
ademar111190 Avatar asked Jun 18 '12 23:06

ademar111190


People also ask

How can I give space between star and rating bar in Android?

You can use Custom SVG and Set Your Separation value By using this class, you can fix Android custom SVG RatingBar and set Drawable End by replacing value(I marked this value as There_You_Can_Set_Your_Value) inside the class.

How do I change the rating bar on my Android?

Custom Rating Bar in AndroidCopy your images in the drawable folder and remember image size should be according to the size you want. Step 2. Make XML for the rating bar selector in the drawable folder like below. We made two files, one for the fill or highlighted part and one for the empty or un-highlighted part.


2 Answers

I don't know if it will be useful anymore, but I made a custom library which allows you to change space beetwen stars programatically and in XML (among other stuff): SimpleRatingBar.

It features:

  • Fully working android:layout_width: it can be set to wrap_content, match_parent or abritary dp.
  • Arbitrary number of stars.
  • Arbitrary step size.
  • Size of stars can be controlled exactly or by setting a maximum size.
  • Customizable colors in normal state (border, fill and background of stars and rating bar).
  • Customizable colors in pressed state (border, fill and background of stars and rating bar).
  • Customizable size separation between stars.
  • Customizable border width of stars.
  • Customizable stars corner radius.
  • Allows to set OnRatingBarChangeListener
  • Stars fill can be set to start from left to right or from right to left (RTL language support).
  • AnimationBuilder integrated in the view to set rating programatically with animation.

Here is a preview of it.

In your case, you would just have to do:

ratingbar.setStarsSeparation(20, Dimension.DP); 

or, for example, in pixels:

ratingbar.setStarsSeparation(100, Dimension.PX); 

You can find it either in jcenter or in Maven Central. So in your build.gradle file just add to your dependencies:

compile 'com.iarcuschin:simpleratingbar:0.1.+'

like image 98
FlyingPumba Avatar answered Oct 05 '22 22:10

FlyingPumba


You have a next property.

android:progressDrawable = "@drawable/rating_stars" android:indeterminateDrawable = "@drawable/rating_stars" 

@drawable/rating_stars :

<?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/star_empty" />     <item android:id="@+android:id/secondaryProgress"           android:drawable="@drawable/star_empty" />     <item android:id="@+android:id/progress"           android:drawable="@drawable/star" /> </layer-list> 

star_empty and star are the images which are in your drawable directory. So, you can change star and star_empty in a graphic editor and add a spassing if you need.

like image 43
i_Am Avatar answered Oct 05 '22 23:10

i_Am