修正 XE5 Android 键盘三个问题
说明:XE5 在 Android 平台上存在这一些键盘操作的问题,目前发现有下列几种:
}内为增加的部份): { === TRectF.Create(ConvertPixelToPoint(TPointF.Create(TotalRect.left,TotalRect.top + <span style="color: #0000ff;">function <span style="color: #000000;"> TVirtualKeyboardAndroid.GetVirtualKeyBoardState: TVirtualKeyBoardState;<span style="color: #0000ff;">begin <span style="color: #0000ff;">if FError <span style="color: #0000ff;">then<span style="color: #000000;"> Result :=<span style="color: #000000;"> [vksError] <span style="color: #0000ff;">else<span style="color: #000000;"> Result :=<span style="color: #000000;"> []; <span style="color: #0000ff;">if IsAutoShow <span style="color: #0000ff;">then<span style="color: #000000;"> Result := Result +<span style="color: #000000;"> [vksAutoShow]; <span style="color: #0000ff;">if <span style="color: #0000ff;">not FError <span style="color: #0000ff;">then <span style="color: #0000ff;">begin <span style="color: #008000;">{<span style="color: #008000;">+++><span style="color: #008000;">} //<span style="color: #000000;"> 这里只解决: 按键盘上的隐藏后,无法再按上一页的问题 (按上一页后,才会执行这里). <span style="color: #0000ff;">if FState = vkbsVisible <span style="color: #0000ff;">then <span style="color: #0000ff;">if ObtainKeyboardRect.Height < <span style="color: #800080;">30 <span style="color: #0000ff;">then<span style="color: #000000;"> SetState(TVirtualKeyboardAndroid.TvkbState.vkbsHidden); <span style="color: #008000;">{<span style="color: #008000;"><+++<span style="color: #008000;">} <span style="color: #0000ff;">if FState = vkbsVisible <span style="color: #0000ff;">then<span style="color: #000000;"> Result := Result +<span style="color: #000000;"> [vksVisible]; <span style="color: #0000ff;">end<span style="color: #000000;">; <span style="color: #0000ff;">end; Main.pas //------------------------------------------------------------------------------
// . by 龟山阿卍 QQ -
// http://www.cnblogs.com/onechen/ -
// -
// 需修改 -
// FMX.VirtualKeyboard.Android.pas -
//------------------------------------------------------------------------------
<span style="color: #0000ff;">unit <span style="color: #000000;"> Main; <span style="color: #0000ff;">interface<span style="color: #0000ff;">uses<span style="color: #000000;"> <span style="color: #0000ff;">type<span style="color: #000000;"> <span style="color: #0000ff;">var<span style="color: #000000;"> <span style="color: #0000ff;">implementation <span style="color: #008000;">{<span style="color: #008000;">$R *.fmx<span style="color: #008000;">} //<span style="color: #000000;"> 显示键盘 <span style="color: #0000ff;">procedure<span style="color: #000000;"> TForm1.FormVirtualKeyboardHidden(Sender: TObject;
<span style="color: #0000ff;">end<span style="color: #000000;">; <span style="color: #0000ff;">procedure<span style="color: #000000;"> TForm1.FormVirtualKeyboardShown(Sender: TObject;
<span style="color: #0000ff;">end<span style="color: #000000;">; <span style="color: #0000ff;">procedure<span style="color: #000000;"> TForm1.VirtualKeyboardTimerTimer(Sender: TObject); <span style="color: #0000ff;">procedure<span style="color: #000000;"> TForm1.Edit1Click(Sender: TObject); <span style="color: #0000ff;">end.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |