聚焦搜索框时不显示键盘
本文关键字:显示 键盘 搜索 聚焦 | 更新日期: 2023-09-27 18:32:01
我正在开发一个应用程序(在Xamarin.Forms中),它将与外部条形码扫描仪一起使用,因此每次将焦点放在条目/搜索框/等中时,我都不需要显示触觉键盘。
我该怎么做?
谢谢大家。
假设您不希望键盘永远不会在Entry
上显示任何内容,则可以在 Entry 的构造函数中将 Keyboard 属性设置为 null
。
var scannerEntry = new Entry
{
Keyboard = null,
Placeholder = "Scan an item"
};
由于 Xamarin.Forms API 不会在 SearchBar
类上公开 Keyboard
属性,因此可以编写自定义呈现器。iOS 实现可以在OnElementChanged
覆盖中使用ResignFirstResponder
来防止键盘显示:
[assembly: ExportRenderer(typeof(ScannerSearchBar), typeof(ScannerSearchBardRenderer))]
namespace HideKeyboard.iOS
{
public class ScannerSearchBarRenderer : SearchBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.SearchBar> e)
{
base.OnElementChanged(e);
if (Control != null)
{
if (Focused)
{
ResignFirstResponder();
}
}
}
}
}