滚动 sfListView 时关闭键盘
Dismiss keyboard when scrolling sfListView
当用户在 IOS 和 Android 的 Xamarin 项目中开始滚动 sfListView 时,关闭键盘的最佳方式(最好是跨平台)是什么?如果不存在跨平台解决方案 - 很高兴分别听到 IOS 和 Android 的解决方案。提前谢谢你
查看 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))]
当用户在 IOS 和 Android 的 Xamarin 项目中开始滚动 sfListView 时,关闭键盘的最佳方式(最好是跨平台)是什么?如果不存在跨平台解决方案 - 很高兴分别听到 IOS 和 Android 的解决方案。提前谢谢你
查看 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))]