一个好老好老的老程序员了。
全部博文(915)
分类: Android平台
2019-08-08 08:43:18
Xamarin.Forms定义了三个用于从用户获取文本输入的视图:
Entry和Editor都源自InputView,它源自View。 SearchBar直接从View派生。
如果输入的文本超出视图的宽度,则Entry和SearchBar都会实现水平滚动。 编辑器实现自动换行,并且能够垂直滚动文本以提高其高度。
键盘和焦点
Entry,Editor和SearchBar与所有其他视图的不同之处在于它们使用手机的屏幕键盘,有时也称为虚拟键盘。
从用户的角度来看,点击Entry,Editor或SearchBar视图会调用从底部滑入的屏幕键盘。
点击屏幕上的任何其他位置(除了另一个Entry,Editor或SearchBar视图)通常会使键盘消失,有时键盘可能会以其他方式被解除。
从程序的角度来看,键盘的存在与输入焦点密切相关,输入焦点源于桌面图形用户界面环境。在桌面环境和移动设备上,来自键盘的输入一次只能被引导到一个用户界面对象,并且该对象必须能够被用户清楚地选择和识别。接收键盘输入的对象称为具有键盘输入焦点的对象,或者更简单地说,只是输入焦点或焦点。
VisualElement类定义了与输入焦点相关的几个方法,属性和事件:
如您所知,移动环境对键盘的使用远远少于桌面环境,并且大多数移动视图(例如您已经看过的Slider,Stepper和Switch)根本不使用键盘。虽然VisualElement类的这五个与焦点相关的成员似乎实现了一个用于在视觉元素之间传递输入焦点的通用系统,但它们实际上只与Entry,Editor和SearchBar有关。
这些视图表示它们具有输入焦点,闪烁的插入符显示文本输入点,并且它们触发键盘向上滑动。当视图失去输入焦点时,键盘会向下滑动。
视图必须将其IsEnabled属性设置为true(默认状态)才能获取输入焦点,当然IsVisible属性也必须为true或视图根本不在屏幕上。