我正在开发一个应用程序(在Xamarin.Forms中),它将与外部条形码扫描仪一起使用,因此我不需要显示触觉键盘我把焦点放在一个条目/搜索框/等等。
我该怎么做?
谢谢你们。
答案 0 :(得分:0)
假设您从不希望键盘永远不会在Entry
上显示,您可以在Entry的构造函数中将Keyboard属性设置为null
。
var scannerEntry = new Entry
{
Keyboard = null,
Placeholder = "Scan an item"
};
由于Xamarin.Forms API未在Keyboard
类上公开SearchBar
属性,因此您可以编写custom renderer。 iOS实现可以使用ResignFirstResponder
覆盖中的OnElementChanged
来阻止键盘显示:
[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();
}
}
}
}
}