0

ユーザーが「現在の設定」をお気に入りにしたいときに星に触れると、星が黄色に変わるように、星を Android のボタンとして実装したいと考えています。

これをどのように行いますか?デフォルトのボタンを変更できますか? それとも、画像をインポートして OnTouchListener のように設定できますか?

誰かが写真 (星) をインポートする方法も教えてくれれば、それも有益です。

すべての助けをありがとう。

4

3 に答える 3

2

ImageButton背景として星を持つan を宣言します。次に、ボタンが押されたときにスターを表示または削除するためのリスナーを登録できます。

注: スターを削除することは、ほとんどの場合、イメージ ボタンの背景を null に設定することと同じです。

スターをインポートするには、「res/drawables」ディレクトリに置き、xml または Java コードで参照します。

于 2012-04-25T16:27:47.860 に答える
0

星であるRatingBarを確認することをお勧めします。

http://developer.android.com/reference/android/widget/RatingBar.html

RatingBar は、評価を星で表示する SeekBar および ProgressBar の拡張です。デフォルト サイズの RatingBar を使用する場合、ユーザーはタッチ/ドラッグまたは矢印キーを使用して評価を設定できます。小さい RatingBar スタイル ( ratingBarStyleSmall) と大きいインジケーターのみのスタイル (ratingBarStyleIndicator) は、ユーザーの操作をサポートしていないため、インジケーターとしてのみ使用する必要があります。

ユーザー インタラクションをサポートする RatingBar を使用する場合、RatingBar の左または右にウィジェットを配置することは推奨されません。

(setNumStars(int) または XML レイアウトで) 設定された星の数は、レイアウト幅がコンテンツをラップするように設定されている場合に表示されます (別のレイアウト幅が設定されている場合、結果は予測できない場合があります)。

セカンダリ プログレスは、部分的に塗りつぶされた星の背景として内部的に使用されるため、クライアントが変更しないでください。

<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:clickable="true"  android:numStars="1"/>
于 2012-04-25T16:31:53.787 に答える
0

ユーザーがボタンをクリックするたびにボタンの背景を変更するだけで、スター用に2つの画像が必要です。1つは選択モード用で、もう1つは非選択モード用です。

したがって、ユーザーがクリックするたびに、選択を切り替えて、目的の画像を背景として設定できます。

于 2012-04-25T16:27:31.947 に答える