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