如何在特定元素上对Xamarin执行三次点击? 我尝试使用for循环执行单击3次,但看起来它很慢,因为它不起作用。
public void AppLaunches()
{
for(int i = 0; i <= 3;i++)
{
app.Tap(x => x.Css(".app-logo"));
}
答案 0 :(得分: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}");
}
回复:Adding a Tap Gesture Gesture Recognizer
注意:三重点击在iOS上运行良好,但Android 不支持三个标签作为标准功能(它支持双击)。
回复:https://bugzilla.xamarin.com/show_bug.cgi?id=32874
如果您需要在Android上使用三个标签,则可以单独捕获每个标记(NumberOfTapsRequired =“1”)。如果它是第一次点击,将局部变量设置为1并启动一个以X毫秒到期的后台计时器,如果下一个选项卡在计时器到期之前发生,重新启动计时器,1再到本地变量,重复直到你得到三个水龙头。如果计时器到期,则将局部变量重置为0.