目前我有一个GridView,它包含一些ImageView。 GridView实现了setOnItemClickListener。当onItemClick发生时,用户得到一个对话框,在按下或关闭时,他返回当前的GridView。 直到现在一切正常。
我想知道是否有办法更改所选的imageView(使用其他图像,甚至只是alpha)。
我已经尝试在setOnItemClickListener中更改图像,但是当我尝试在dialog.dismiss()调用之后将其更改回正常图像时,会弹出一个白色的屏幕,持续几毫秒。虽然图像设置正确,但我想避免使用此白色图像。
我试图实现GridView.setOnTouchListener,但我只得到一个白色的屏幕(几毫秒)并且不会执行任何其他操作(没有弹出对话框)。
我甚至尝试在ViewHolder类中实现OnTouchListener,虽然它似乎有一些问题(在ACTION_DOWN上更改alpha是永久性的,所以我不得不重新选择相同的项目以将alpha更改回正常状态),setOnItemClickListener根本不会工作。
有人可以帮我吗? 提前谢谢!
答案 0 :(得分:0)
对于有同样问题的人,我使用了TransitionDrawable。在我的imageAdapter中,我加载了转换xml文件:
SingleInstance
并在gridview.setOnItemClickListener上,我使用了以下代码示例:
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/soft"/>
<item android:drawable="@drawable/soft_pressed"/>
</transition>
执行下一个命令(需要一些延迟):
ViewHolder holder = (ViewHolder) v.getTag();
final ImageView imageview = holder.image;
((TransitionDrawable)imageview.getDrawable()).startTransition(2000);