我有ImageButton
,false
显示为gray image
,而true
显示为green image
。如果我使用state_pressed="true"
和state_pressed="false"
功能正常工作,但我需要按住left-click button
按钮才能更改为true
。
state
,但我尝试了其他的但是没有用。
我的问题是:如何只需点击image
上的一次,true
为ImageButton
?< / p>
代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/green_clock" android:state_selected= "true"> </item>
<item android:drawable="@drawable/grey_clock" android:state_selected="false"> </item>
</selector>
Java文件:
public void onClickClock(View v)
{
ImageButton clockBtn = (ImageButton)findViewById(R.id.Clock);
clockBtn.setImageResource(R.drawable.clock);
}
activity.xml:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Clock"
android:src="@drawable/clock"
android:background="@android:color/transparent"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="73dp"
android:onClick="onClickClock" />
谢谢!
答案 0 :(得分:0)
添加setSelected()
public void onClickClock(View v) {
ImageButton clockBtn = (ImageButton)findViewById(R.id.Clock);
clockBtn.setSelected(!clockBtn.isSelected());
}