2017-11-19 11 views
0

특정 요소에서 Xamarin에서 트리플탭을 수행하려면 어떻게해야합니까? for 루프를 3 회 수행하는 for 루프를 시도했지만 성능이 저조한 것처럼 보입니다.요소 트리플 탭

public void AppLaunches() 
     { 
      for(int i = 0; i <= 3;i++) 
      { 
       app.Tap(x => x.Css(".app-logo")); 
      } 

답변

0

당신은 코드 또는 XAML에 TapGestureRecognizer을 추가하고 관련 이벤트 나 명령을 실행하는 데 필요한 탭의 수를 설정할 수 있습니다

XAML 사용하여 이벤트 핸들러 :

<Label Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" > 
    <Label.GestureRecognizers> 
     <TapGestureRecognizer NumberOfTapsRequired="3" Tapped="Handle_Tapped"/> 
    </Label.GestureRecognizers> 
</Label> 

이벤트 핸들러를 :

void Handle_Tapped(object sender, System.EventArgs e) 
    { 
     System.Diagnostics.Debug.WriteLine($"Triple tap on {sender}"); 
    } 

Re : Adding a Tap Gesture Gesture Recognizer

: 3 인실 탭은 iOS에서 잘 작동하지만, 안드로이드는 표준 기능 (이 더블 탭을 지원하지 않습니다)로 하지 지원 트리플 탭을 수행합니다.

재 : 당신은 안드로이드에 트리플 탭을해야하는 경우 https://bugzilla.xamarin.com/show_bug.cgi?id=32874

, 당신은 개별적으로 각각의 탭을 캡처 할 수 있습니다 (NumberOfTapsRequired = "1"). 첫 번째 탭인 경우 로컬 변수를 1로 설정하고 X 밀리 초 단위로 만료되는 백그라운드 타이머를 시작합니다. 타이머가 만료되기 전에 다음 탭이 발생하면 타이머를 다시 시작하고 로컬 변수를 1로 설정하고 3을 얻을 때까지 반복합니다. 도청. 타이머가 만료되면 지역 변수가 다시 0으로 재설정됩니다.

+0

감사합니다. 이렇게하면 세 번 탭 동작이 너무 복잡해집니다. –