2017-11-19 8 views
0

特定のエレメントでXamarinでトリプルタップを実行するにはどうすればよいですか? 私は1回のタップを3回実行するforループを試しましたが、遅くて動作しないようです。エレメントトリプルタップ

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

答えて

0

あなたは、コードまたはXAMLでTapGestureRecognizerを追加し、関連するイベントやコマンドをトリガするために必要なタップ数を設定することができます。

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

イベントハンドラ:イベントハンドラを使用して

XAML:

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

Re:Adding a Tap Gesture Gesture Recognizer

:トリプルタップはiOSの罰金に動作しますが、Androidが標準機能(それは、ダブルタップをサポートしていない)としてないサポートトリプルタブがありません。

再:あなたがAndroid上でトリプルタブが必要な場合はhttps://bugzilla.xamarin.com/show_bug.cgi?id=32874

は、あなたが個別に各タップをキャプチャすることができます(NumberOfTapsRequired = "1")。最初のタップの場合は、ローカル変数を1に設定し、Xミリ秒で期限切れになるバックグラウンドタイマーを開始します。タイマーが切れる前に次のタブが発生した場合は、タイマーを再起動し、ローカル変数に1を戻します。タップ。タイマーの有効期限が切れた場合、ローカル変数は0にリセットされます。

+0

ありがとうございます。 –