Android ImageView On Click Animation
문제
나는 이것이 일종의 이상한 질문이라고 생각하지만 ImageView에서 OnClickListener를 설정하려고 시도했지만 작동했습니다. 그러나 문제는 사용자가 클릭을 감지 할 수 없다는 것입니다. U 중 일부가 다른 모바일 환경 (Apple iPhone과 같은)에서 작업 한 다음 다른 환경에서 이미지를 클릭하면 이미지에 영향을 미쳐서 사용자가 이미지가 클릭되었음을 이해할 수 있습니다.
알파 사용을 시도했습니다 setalpha
방법이지만 작동하지 않습니다. onfocuslistener 구현에서도 같은 일이 잘 작동합니다. 일부는 클릭에서 이미지를 수정하는 다른 방법을 제안 할 수 있습니까?
나는 Android를 처음 접했기 때문에 간단한 애니메이션의 뉘앙스를 배우지 못했습니다 ... 간단한 애니메이션이 있으면 사용할 수있는 간단한 애니메이션이 있으면 알려주십시오.
감사!
해결책
<?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 방법에서 변경 사항이 보일 것입니다 ...
다른 팁
지원하려는 다른 상태에 대해 다른 이미지가 포함 된 그림을 사용하고 싶을 것입니다. 예는 다음과 같습니다.
<?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 Directory에 넣은 다음 ImageView의 이미지를 img.xml로 설정하십시오. @drawable/img_at_rest
사용하려는 원래 이미지입니다. @drawable/img_pressed
그리고 @drawable/img_focused
각 상태에 사용할 이미지입니다. 사용 사례에 적합한 경우 이미지 대신 단색을 사용할 수도 있습니다.
Anim/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));
그것이 작동하는지 확실하지 않지만 setSelected ()를 시도 했습니까?http://developer.android.com/reference/android/widget/imageview.html#setselected (boolean)