我正在Android应用程序中,我有一个ImageView,它直接在XML中设置(默认图像)。现在,当用户点击图片时,我想只用另一张图片进行更改,以便用户知道它已被按下。当我抬头时,我可以找到onClickListener,但是这改变了图像,并且不会恢复到原来的。我只是想找一些方法来显示按钮被按下。Android:更改图像,当用户单击并将其设置为原始
XML代码:
<ImageView
android:id="@+id/shirtImage"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:alpha="0.8"
android:src="@drawable/shirt" />
活动代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
shirt = (ImageView)findViewById(R.id.shirtImage);
shirt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shirt.setImageResource(R.drawable.shirtactive);
}
});
}
谢谢。
更新代码
shirt.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
shirt.startAnimation(animationFadeIn);
shirt.setImageResource(R.drawable.shirtactive);
return true;
}
else if(event.getAction() == MotionEvent.ACTION_UP){
shirt.startAnimation(animationFadeOut);
shirt.setImageResource(R.drawable.shirt);
return true;
}
return false;
}
});
如何使用此功能获得印刷机的淡入效果? –
@ WeareBorg如果您将使用第一个变体,那么在动作下降和动作上可以做任何你想做的事情。我会在我的回答中添加示例 –