滚动sfListView

时间:2019-05-11 12:41:00

标签: xamarin syncfusion

当用户开始在iOS和Android的Xamarin项目中滚动sfListView时,解除键盘的最佳方法(最好是跨平台)是什么?如果不存在跨平台解决方案-很高兴听到分别针对IOS和Android的解决方案。预先谢谢你

1 个答案:

答案 0 :(得分:0)

查看sfListView的documention时,您可以找到the Identifying scroll state changes部分,因此可以在这种情况下关闭键盘:

listView.ScrollStateChanged += ListView_ScrollStateChanged;

private void ListView_ScrollStateChanged(object sender, ScrollStateChangedEventArgs e)
{
    if (e.ScrollState != ScrollState.Idle)
    {
        //dismiss keyboard
        DependencyService.Get<IKeyboardHelper>().HideKeyboard();
    }
}

要关闭键盘,您必须使用DependencyService

您可以使用此thread中的代码。

注意:请记住在每个KeyboardHelper类中的命名空间开始之前添加此行,否则DependencyService将找不到它们。

[assembly: Xamarin.Forms.Dependency(typeof(xxxxxxKeyboardHelper))]