我在button
中创建了layout
。在Drawable
文件夹中,我创建了一个名为XML file
的{{1}}。 btn01_state
已分配给通过“btn01_state.xml
”创建的button
现在,android:background=@drawable/btn01_state
在button
上有一个默认image
img1.when click
,图片1更改为img2,一旦我释放点击的鼠标按钮,image2再次改为img1。
我想要做的是,用evey点击更改按钮的图像。
最初是一个例子 btn01有img01
如果按下btn01 ==>将img of btn01设置为img02并保持img02直到再次按下btn01。现在,btn01上有img02。
按下btn01时,将img01设置为btn01。
我希望这更能澄清我想要做的事情。
btn_selector :
button
main.xml中
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/android_blue"
android:state_pressed="true" />
<item android:drawable="@drawable/ic_launcher"
android:state_focused="true" />
<item android:drawable="@drawable/ic_launcher" />
答案 0 :(得分:18)
您可以在代码中轻松完成。
boolean isPressed = false;
button.setOnClickListener(buttonListener);
OnClickListener buttonListener = new OnClickListener() {
@Override
public void onClick(View v) {
if(isPressed)
button.setBackgroundResource(R.drawable.icon1);
else
button.setBackgroundResource(R.drawable.icon2);
isPressed = !isPressed;
}
};
答案 1 :(得分:1)
简单方法
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.locationbutton_on));
}
});
答案 2 :(得分:0)
也许在代码中。在按钮上放置一个监听器,当单击该按钮时,背景会改变。