gpt4 book ai didi

java - 安卓 : Change image when user clicks and set it to original afterwards

转载 作者:行者123 更新时间:2023-11-29 19:41:38 26 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,其中有一个 ImageView,它直接在 XML 中设置(默认图像)。现在,当用户点击图像时,我只想用另一个图像更改它,以便用户知道它已被按下。当我抬头时,我可以找到 onClickListener,但这会改变图像并且不会恢复到旧图像。我只是在寻找某种方式来表明按钮已按下。

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" />

Activity 代码:

 @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;
}
});

最佳答案

您可以在您的可绘制文件夹中创建一个包含以下内容的 xml 文件(例如名称为 selector_imageview)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/shirtactive" android:state_pressed="true" />
<item android:drawable="@drawable/shirtactive" android:state_selected="true" />
<item android:drawable="@drawable/shirt"/>

</selector>

然后在你的 ImageView 中设置

<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/selector_imageview" />

关于java - 安卓 : Change image when user clicks and set it to original afterwards,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38565967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com