我想这是一个奇怪的问题,但我尝试在ImageView上设置onClicklistener并且它已经工作了。但问题是用户无法感知到点击。我的意思是,如果你有一些人在其他移动环境(如Apple iPhone)上工作,那么当我们点击其他环境中的图像时,它会对图像产生影响,以便用户可以理解图像已被点击。
我尝试使用setalpha
方法设置alpha但不起作用。虽然同样的事情在onFocusListener实现上工作正常。 some1可以建议一种不同的方式来修改点击图像......
我是android的新手,所以还没有学习简单动画的细微差别......如果有任何简单的动画我也可以使用它,请告诉我。
谢谢!
答案 0 :(得分:74)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.5"
android:duration = "300">
</alpha>
<scale
android:fromXScale = "1"
android:toXScale = "0.9"
android:fromYScale = "1"
android:toYScale = "0.9"
android:pivotX="50%"
android:pivotY="50%"
android:duration = "50">
</scale>
</set>
我不知道这是否是正确的方法,但如上所述定义动画就可以了。现在我们只需要给出
public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(Context, R.anim.image_click));
//Your other coding if present
}
在OnClick方法中,更改将显示...
答案 1 :(得分:9)
您需要使用包含不同图像的drawable来处理您想要支持的不同状态。这是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/img_pressed" />
<item android:state_focused="true" android:drawable="@drawable/img_focused" />
<item android:drawable="@drawable/img_at_rest" />
</selector>
将此文件命名为img.xml或其他内容并将其放入drawable目录中,然后将ImageView的图像设置为img.xml。 @drawable/img_at_rest
是您尝试使用的原始图片,而@drawable/img_pressed
和@drawable/img_focused
是用于各自州的图片。如果它适合您的用例,您也可以使用纯色而不是图像。
答案 2 :(得分:2)
动画/ anim_item.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1."
android:duration="1000">
</alpha>
</set>
并添加:
myView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.anim_item));
答案 3 :(得分:0)
不确定它是否有效,但您是否尝试过setSelected() http://developer.android.com/reference/android/widget/ImageView.html#setSelected(boolean)