我有一个图像按钮(星号),用于标记喜欢的东西。我设想当用户点击星星时,星星会变黄。当他们点击已经黄色的开始时,它将恢复正常。
从一种颜色转换到另一种颜色会调用服务器。我已经在做那个部分了。
若要更改单击时的颜色,我就这样做了。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/ic_action_fav" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/ic_action_fav" />
<item android:drawable="@drawable/ic_action_ic_action_star" />
</selector>
但是,这仅在单击按钮时更改颜色。它不会在点击上保持更改,换句话说,它不会切换。
如何在每次点击时切换按钮的颜色?
答案 0 :(得分:0)
在状态列表中使用android:state_selected
以及Java代码中的View.setSelected(boolean selected)
。