web-dev-qa-db-ja.com

ratingBarの星の間のスペース

RatingBarの星の間にスペースを挿入する必要があります。たとえば、ratingbarは適切です。

enter image description here

しかし、私はそれが必要です:

enter image description here

どうすればこれを行うことができますか?

36
ademar111190

それがもう役立つかどうかはわかりませんが、プログラムで、およびXMLで(他のものと同様に)スペースbeetwenの星を変更できるカスタムライブラリを作成しました: SimpleRatingBar

特徴:

  • 正常に動作しているAndroid:layout_widthwrap_contentmatch_parentまたはabritary dpに設定できます。
  • 星の任意の数。
  • 任意のステップサイズ。
  • 星のサイズは、正確に、または最大サイズを設定することによって制御できます。
  • 通常の状態でのカスタマイズ可能な色(星の境界線、塗りつぶしと背景、および評価バー)。
  • 押された状態のカスタマイズ可能な色(星の境界線、塗りつぶしと背景、および評価バー)。
  • 星間のカスタマイズ可能なサイズ分離。
  • 星の境界線幅をカスタマイズ可能。
  • カスタマイズ可能な星の角の半径。
  • OnRatingBarChangeListenerを設定できます
  • スター塗りつぶしは、左から右または右から左に開始するように設定できます(RTL言語サポート)。
  • アニメーションを使用してプログラムで評価を設定するために、ビューに統合されたAnimationBuilder。

これはプレビューです

あなたの場合、あなたはただしなければなりません:

ratingbar.setStarsSeparation(20, Dimension.DP);

または、例えば、ピクセルで:

ratingbar.setStarsSeparation(100, Dimension.PX);

jcenterまたはMaven Centralにあります。したがって、build.gradleファイルで、依存関係に追加するだけです。

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

4
FlyingPumba

次のプロパティがあります。

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とstarは、ドローアブルディレクトリにある画像です。したがって、必要に応じて、グラフィックエディタでstarとstar_emptyを変更し、spassingを追加できます。

4
i_Am

カスタムアイコンを使用してスタイルを使用するだけです。つまり、見た目やシステムのレーティングスタイルアイコンに置き換えたいときにPhotoshopを使用します。

1
Rajeev Kumar

システムスターpngファイルのコピーを取得し、フォトショップ/ gimp /その他のエディターを使用して、手動でパディングを追加する必要があると思います。

0
FoamyGuy

私はTimが同じロジックを適用し、それが機能することに同意します。ここで私のプロジェクトでは、スターラティンに自分の星の画像を使用しています。右側に余分なスペース(パディング)がある星の画像を作成しました。

0
Meher