我有imageview,当用户点击此图片时,我发现这个背景改变了这是我的代码
btnImage =(ImageView) findViewById(R.id.image_button);
btnImage.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Intent i=new Intent(fierst.this,second.class);
startActivity(i);
}
});
但我不知道如何在onclick上更改此背景图片
答案 0 :(得分:2)
为什么单击时不使用Selctor ImageView
。
RES /抽拉/ selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/your_iamge_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/your_iamge_pressed"
android:state_focused="true"
android:state_enabled="true"
android:state_window_focused="true" />
<item android:drawable="@drawable/your_iamge_normal" />
在这里你ImageView将选择器设置为背景:android:background="@drawable/selector.xml"
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/selector.xml" />
OR USE TouchListener实现这样的想法 触摸时(向下操作)将一个图像设置为背景,当您释放时(Action Up)将另一个图像设置为背景。
这是代码
buttonONE.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN) {
buttonONE.setBackground(R.drawable.round_button_focus);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
buttonONE.setBackground(R.drawable.round_button_unfocused);
// *******start Intent here********
}
}
};
答案 1 :(得分:0)
这是代码
btnImage =(ImageView) findViewById(R.id.image_button);
btnImage.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
btnImage.setBackgroundResource(R.drawable.ic_launcher);
//put your image in drawable folder and change ic_luncher by your image.
Intent i=new Intent(fierst.this,second.class);
startActivity(i);
}
});
意图i =新意图(fierst.this,second.class);
<强> startActivity(ⅰ); 强>
通过执行这两行,它将移动到第二个活动,因此您无法查看图像的更改结果。要查看图像更改的正确输出,请将这些行作为注释
希望这会有所帮助。谢谢
答案 2 :(得分:0)
我同意@sajidkhan的答案,但@zahra你错误地将选择器设置为背景错误。 在这里我将解释@ sajidkhan的答案,因为我知道他可能会在这里预期image.png等而不是selector.xml
buttonONE.setBackground(R.drawable.round_button_focus);
round_button_focus 表示 round_button_focus.png 等,
在MotionEvent.ACTION_DOWN
设置一个背景,当你释放按钮时设置另一个背景,例如。 MotionEvent.ACTION_UP
按照@sajidkhan的建议,如果你觉得这对你有帮助,他的答案可能会被接受。