web-dev-qa-db-ja.com

RatingBarの星の画像を変更するにはどうすればよいですか?

Android SDK 1.1 r1RatingBarウィジェットクラスの星の画像を自分のものに変更する方法はありますか?これは可能ですか?もしそうなら、どのように?

ありがとう。

28
Chang Chung

簡単に言えば、技術的には可能であるように見えます。最も簡単な方法は、RatingBarソースコードに基づいて独自のRatingBarを作成することです(よりエレガントな方法は、元のRatingBarを独自のものにextendすることです)。そこから、例として元のRatingBarソースxmlを使用して独自のRatingBarスタイルを作成する必要もあります(または元のRatingBarスタイルを継承および拡張します)。

ソースはdeveloper.Android.comでgitから入手できます。

OSの一貫したルックアンドフィールに反するため、独自の評価バーを作成することはお勧めできません。

8
Will

1.1についてはよくわかりませんが、1.6以降では、Widget.RatingBarスタイルを拡張して、スタードローアブル(values/styles.xml内)を担当するプロパティをオーバーライドできます。

 <style name="myRatingBar" parent="@Android:style/Widget.RatingBar">
        <item name="Android:progressDrawable">@drawable/my_ratingbar_full</item>
        <item name="Android:indeterminateDrawable">@drawable/my_ratingbar_full</item>
 </style>

RatingBarをサブクラス化する必要はありません。このスタイルを、「style」属性を使用して渡すだけです。

<RatingBar style="@style/myRatingBar" ... /> 

Androidソースをダウンロードし、コアドローアブルフォルダーのratingbar_full.xmlを調べて、my_ratingbar_fullに何を入れるかを確認します。

あなたはここでこれのより完全なバージョンを見つけることができます: Androidでカスタム評価バーを作成する方法

56
kozyr