5

ListView行の xml レイアウト内に次のように記述します。

 <CheckBox
        android:id="@+id/favbutton"
        style="?android:attr/starStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true" />

また、お気に入りを選択するためにチェックできる青い星が表示されます。これはまさに私が必要としている機能ですが、表示される星のアイコンをカスタマイズしたいだけです。色を青から黄色に変えて、できれば星も小さくしたいです。アプリケーションに適用されているテーマを変更することで、これらの変更を行うことは可能ですか? スター アイコンの外観を変更するには、何を編集する必要がありますか?

4

1 に答える 1

8

これを次のように解決しました。res/drawable呼び出されたファイルを作成しbtn_star_selector.xml、セレクターを次のように定義しました。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_checked="true" android:state_pressed="true"  android:drawable="@drawable/btn_star_on_pressed" />
     <item android:state_checked="false" android:state_pressed="true"
      android:drawable="@drawable/btn_star_off_pressed" />
     <item android:state_checked="true" android:drawable="@drawable/btn_star_on" />
     <item android:state_checked="false" android:drawable="@drawable/btn_star_off" />
</selector>

このセレクターを定義して、checkbox定義内のこの行を置き換えました

style="?android:attr/starStyle"

これとともに

android:button="@drawable/btn_star_selector"

次に、チェックボックスのさまざまな状態を表す 4 つの画像 ( onoffon pressedおよび) を作成off pressedし、これらを に配置しましたres/drawables

これが、チェックボックスをカスタマイズする方法を理解しようとしている他の人に役立つことを願っています.

于 2013-02-25T16:56:02.380 に答える