Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:向Xamarin.Forms添加自定义键盘_Xamarin_Xamarin.android_Xamarin.forms - Fatal编程技术网

Android:向Xamarin.Forms添加自定义键盘

Android:向Xamarin.Forms添加自定义键盘,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我正在做一个Xamarin表单项目 我们正在测试一款运行KitKat的Android设备,它有一个12键键盘 我试图强制软输入键盘在焦点被赋予某个条目时显示,我为该条目创建了一个自定义渲染器,该渲染器覆盖了FocusChange和Clicked事件 它的工作原理类似于我检测设备是否有物理键盘以及entryKeyboard是否是数字键盘。如果这两个条件都成立,我会打电话给你 Control.ShowSoftInputOnFocus = false; 及 除了打开包含条目编辑器的视

我正在做一个Xamarin表单项目

我们正在测试一款运行KitKat的Android设备,它有一个12键键盘

我试图强制软输入键盘在焦点被赋予某个条目时显示,我为该条目创建了一个自定义渲染器,该渲染器覆盖了FocusChange和Clicked事件

它的工作原理类似于我检测设备是否有物理键盘以及entryKeyboard是否是数字键盘。如果这两个条件都成立,我会打电话给你

        Control.ShowSoftInputOnFocus = false;

除了打开包含条目编辑器的视图外,它通常都能正常工作。键盘会显示几分钟,然后消失。这是两个方面的问题。在测量键盘时,它会向上移动位于视图底部的按钮,这样按钮就会出现,在键盘最终消失时向上移动,然后向下移动。第二,有时它不起作用。我们已经延迟了一些时间,但这只会加剧问题,因为键盘在屏幕上停留的时间更长

在一个完美的世界里,我不在乎延迟,我只是不希望softInput出现在这个视图中的任何地方,除非我特别要求它

或者,我不介意编写自己的不可见键盘,并且在异步进程执行时必须显示(不可见)

我已经到处寻找了一段时间,所以任何帮助都将不胜感激


提前感谢,祝您度过愉快的一天

我认为您需要为您的
编辑文本
制作一个自定义渲染器。然后还创建自己的
EditText
实现,该实现覆盖了
OnCheckIsTextEditor
方法,该方法只返回
false


如果您只针对Android API 21及更高版本,您也可以在所有
EditText
实例上调用
showsoftwoinputonfocus=false
。这可能是通过Xamarin.Forms实现的。

可能是我对操作顺序的理解限制了我解决问题的能力。到目前为止,我的变通功能已被接受,但我真的希望禁用给定视图的虚拟键盘弹出
            imm.HideSoftInputFromWindow(Control.WindowToken, HideSoftInputFlags.None);