2016-10-15 10 views
2

RatingBarの各星をカスタマイズして見た目を変えようとしています。RatingBarの星を別の方法でカスタマイズする

私はそのソースコードRatingBarまたはそのスーパークラスAbsSeekBar/ProgressBarを見ると、私はそのようなオプションを識別することができませんでした、それだけで進行/ secondaryProgress全体ビューの背景を提供することができます。最も近いのはthumbDrawableを使用することですが、そのユーティリティは完全に異なります(不確定の場合はSeekBar)。

このような機能を複製するために完全にカスタムのビューを行う以外にオプションはありますか?ここで

は、私が作成しようとしていますRatingBarと絵です: custom ratingBar

私は、各スター(最後に選択スター)は、別の「顔」を持っているだろうと言及する必要があり、常に正確に存在することになります5つ星(numStarsプロパティ)。どんなアイデアでも大歓迎です!

答えて

1

このライブラリーを見てくださいstarBar by badoo赤いオレンジ色の緑色のような色の異なる画像が1〜10個ある星を持っていますので、あなたの選択肢を得るためにリソース内の画像を変更できます。 このlinkも参考になります。

+0

に基づいていますRatingBarと同様の機能ですが、Viewクラスを拡張すると、あなたの答えは私が尋ねたものを複製するのに十分近いので、あなたはこの質問のために提供された恩恵に値すると思います。私はあなたの答えを受け入れるだろう、もう少し時間を開いて質問を残します。 – DoruAdryan

1

あなたは、それぞれの評価値に異なるドロウアブルと評価ビューを提供SmileViewを使用することができますし、また私が作成したカスタムビューを使用しないように傾斜しておりますがbadoo's StarBar view

使用

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:app="http://schemas.android.com/apk/res-auto"> 
     ... 

     <com.eugeneek.smilebar.SmileBar 
      android:id="@+id/starBar" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:smileWidth="50dp" 
      app:smileHeight="50dp" 
      app:smileDefault="@drawable/none" 
      app:smileRate1="@drawable/one" 
      app:smileRate2="@drawable/two" 
      app:smileRate3="@drawable/three" 
      app:smileRate4="@drawable/four" 
      app:smileRate5="@drawable/five" 
      app:horizontalSpacing="8dp" 
      app:rating="1" 
      app:enabled="true"/> 

     ... 
    </LinearLayout> 
関連する問題