自定义复选框的外观starStyle
问题描述:
的XML布局内我下面我ListView
行:自定义复选框的外观starStyle
<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" />
它表明可以进行检查,以选择一个最喜欢的蓝色恒星。这正是我需要的功能,但我只想定制显示的星形图标。我想将颜色改为黄色而不是蓝色,并且如果可能的话使星形变小。是否可以通过更改应用于应用程序的主题来进行这些更改?我需要编辑哪些内容才能更改星形图标的外观?
答
我解决这个问题如下。我在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"
然后我创建了四个图像来表示复选框的不同状态,即on
,off
,on pressed
和off pressed
,并且还将这些放置在res/drawables
中。
希望这可以帮助其他人试图弄清楚如何自定义复选框。
+0
你能分享这些资源(btns on-off-pressed)吗? (: – 2014-03-20 09:08:08
看看[这里](http://stackoverflow.com/a/3443880/1050058)。只需创建你自己的形象和风格。这与创建状态按钮相似。 – 2013-02-25 02:26:00
感谢Yul的那个链接,那里的信息帮了很多! :) – BruceHill 2013-02-25 16:29:55