2011-08-12 2 views
0

이미지가 있지만 사용자의 손가락이 화면과 접촉했을 때이 이미지가 다른 이미지로 변경 될 수 있는지 궁금합니다. 그들의 손가락을 멀리.Android : 태핑 할 때 이미지 변경 후 되돌아 가기

나는 이것을 배우려고 열심히 노력하고 클릭 리스너 방법을 시도했지만 이미지를 영구적으로 바꿀 수 있었고 심지어는 제대로 작동하지 못했습니다. 그래서 누군가 나 좀 도와 줄 수 있니?

답변

0

다른 상태 ("누른", "집중", "선택됨"등)에 따라 다른 드로어 블을 정의 할 수있는 일종의 드로어 블 상태 목록과 함께 작동하는 예 :

항목의 순서가 중요하다는 것을 및 기본 당김이 선택 항목 목록에서 마지막을 배치해야

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

참고 예 :.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable_resource_pressed" android:state_pressed="true"> 
    <item android:drawable="@drawable_resource_regular"> 
</selector> 
0

는 당신이 여기에서 필요로하는 것은 OnTouchListener 인을 등록합니다. ~까지 이미지가 변경되어야 할 때 (예. setOnTouchListener()을 통해 이미지 자체를 보유하는 ImageView).

청취자에게 MotionEvent을 제공하는 콜백 onTouch이 있습니다. MotionEvent.getAction()을 사용하고 MotionEvent.ACTION_DOWN 또는 MotionEvent.ACTION_UP과 같은지 테스트하십시오. 그것들은 사용자가보기 (아래)를 누르거나 보도 자료 (위로)를 놓을 때 해당 이벤트입니다. 거기에 따라 반응하여 이미지를 ImageView으로 설정하십시오.

편집 : 그리고 다른 게시물에 언급 된 statelist도 작품을 만져서 이미지를 변경하려는 경우 여기에 더 우아한 해결책이 있습니다.

이것은 여전히 ​​유용합니다. 조만간 다른 곳에서 필요할 것입니다. 예를 들어 이미지 자체가 아닌 다른 뷰를 눌러 이미지를 변경하려는 경우를 예로들 수 있습니다.

관련 문제