web-dev-qa-db-ja.com

アンドロイドの評価バーの星の間隔を与える方法は?

こんにちは私はカスタム画像でカスタム評価バーを使用しています。星の間にスペースを設ける必要があります。最小の高さと最大の高さを増やしても、星の画像は同じままです。

   <RelativeLayout
    Android:id="@+id/RelativeLayout01"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_margin="10dp" 
    Android:padding="5dp">

    <TextView
        Android:id="@+id/allreviews"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:text="Rating"
        Android:layout_marginLeft="8dp"
        Android:textSize="14sp" />

        <RatingBar
        Android:id="@+id/reviewallrating"
        style="@style/customRatingBar"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginLeft="10dp"
        Android:layout_marginTop="3dp"
        Android:layout_toRightOf="@+id/allreviews"
        Android:isIndicator="false"
        Android:numStars="5"
        Android:stepSize="0.1" />

   </RelativeLayout>

スタイル:@ drawable/star_rating_bar_full 12dip 12dip

   star_rating_bar_full.xml:

   <?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_ratingbar_full_empty" />
   <!--     <item Android:id="@+Android:id/secondaryProgress"
      Android:drawable="@drawable/star_ratingbar_full_empty" /> -->
      <item Android:id="@+Android:id/progress"
      Android:drawable="@drawable/star_ratingbar_full_filled" />
      </layer-list>

star_ratingbar_full_empty:

   <?xml version="1.0" encoding="utf-8"?>

  <!-- This is the rating bar drawable that is used to
   show a filled cookie. -->
    <selector
   xmlns:Android="http://schemas.Android.com/apk/res/Android">

   <item Android:state_pressed="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/star_gray" />

  <item Android:state_focused="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/star_gray" />

 <item Android:state_selected="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/star_gray"/>

 <item Android:drawable="@drawable/star_gray" />

 </selector>
star_ratingbar_fullfilled.xml:
  <item Android:state_pressed="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/yellow_star" />

  <item Android:state_focused="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/yellow_star" />

  <item Android:state_selected="true"
  Android:state_window_focused="true"
  Android:drawable="@drawable/yellow_star" />

<item Android:drawable="@drawable/yellow_star" />

スタイルでstyle = "?android:attr/ratingBarStyle"を使用しましたが出力は同じままです。 enter image description here

12
Shadow

PNGの左側と右側に空のスペースを追加するだけです。

つまり、GIMP(または使用するグラフィックエディタプログラム)の灰色と黄色のPNGの幅を広げます。
星のアイコンを引き伸ばさずに、キャンバスだけ。

10
Fantômas

星にDrawableを使用している場合。 png画像の要件に応じて、ドローアブルに左パディングがあることを確認してください。

それ以外の場合、コードを介して機能しません。数日前、私は同じ問題に悩まされていました。左のパディング画像を使用して確認しました。それがうまくいくことを願っています。

11
droidd