2017-02-18 4 views
0

사용자가 활동 중 아무 곳에서나 5 번 탭하면 대화 (비밀 메뉴)를 표시하고 싶습니다. 어떻게 든 가능합니까? 나는 이것을 성취 할 수 없었고 또한 문서에서 아무것도 발견하지 못했다.사용자가 정확히 5 번 터치했을 때 터치 이벤트 받기

+0

내 대답도 확인하십시오. 원하는 것을 원하십니까 ?? –

답변

0

이 코드를 시도 : 활동에 onTouchEvent(MotionEvent event) 방법을 덮어 쓰기 탭의 수를 계산 ..

public class MainActivity extends Activity { 

private int count = 0; 

//detect any touch event in the screen 

@Override 
public boolean onTouchEvent(MotionEvent event) { 

    int eventaction = event.getAction(); 
    if (eventaction == MotionEvent.ACTION_UP) { 

    //get system current milliseconds 
    long time= System.currentTimeMillis(); 
    ++count; 

    if (count==5) { 
     //show Dialog 
     new AlertDialog.Builder(MainActivity.this) 
       .setTitle("Your Alert") 
       .setMessage("Your Message") 
       .setCancelable(false) 
       .setPositiveButton("ok", new OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         // Whatever... 
        } 
       }).show(); 

    } 
    return true;  
    } 
    return false; 
    } 

} 
0

먼저 초기화하기 전역 변수 mCounter 당신이 활동을 클릭 얼마나 많은 시간을 추적.

int mCounter = 0;

당신은 활동 내에서 아래와 같이이 당신을 도울

@Override 
    public boolean onTouchEvent(MotionEvent event) { 

     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       // increase counter here 
       counter = counter + 1; 
       if(counter == 5) { 
        // show dialog here 
       } 
       break; 


     } 
     return true; 
    } 
} 

희망을 방법을 onTouchEvent 대체 할 수 있습니다.

0

이것은 매우 쉽습니다. 코드는 다음과 갈 것입니다 :

public class MainActivity extends Activity { 

private int count = 0; 

public boolean onTouchEvent(MotionEvent event) { 

int eventaction = event.getAction(); 
if (eventaction == MotionEvent.ACTION_UP) { 
count++; 
} 
else{ 
break; 
} 
if (count==5) { 
    //do whatever you need 
Toast.makeText(getActivity(), "You tapped 5 times on screen", 
Toast.LENGTH_LONG).show(); 
} 
return true;  
} 
return false; 
} 
0

참고로

예는 onTouchEvent(MotionEvent event)

그러나

사용자를 대체 할 수 있습니다 그가를 완료 할 때마다 비밀 메뉴를 얻을 5 건의 접촉.

그러나 사용자가 5 회 빠르게에 닿을 때 이제까지 실제 비밀 메뉴에 대한

는 대화 상자가 표시됩니다. 사용자가 잠시 동안 터치하지 않으면 그

public class MainActivity extends Activity { 

private final int count = 0; 
Handler handler; 
Runnable runnable; 


@Override 
public boolean onTouchEvent(MotionEvent event) { 

    int eventaction = event.getAction(); 
    if (eventaction == MotionEvent.ACTION_UP) { 

     count++; 
     if (count > 0) { 
      handler = new Handler(); 
      runnable = new Runnable() { 
       @Override 
       public void run() { 
        count = 0; 
       } 
      }; 
      handler.postDelayed(runnable, 1000); // clear counter if user does not touch for one sec 
     } 
     if (count == 5) { 
      //do whatever 

     } 
     return true; 
    } 
    return false; 
} 

}

를 들어

0

에 카운터를 잘 핸들러를 가져주의 할

import android.os.Handler;