我不得不用键盘在tmemo同样的问题,尝试这两个函数和事件OnVirtualKeyboardShown和OnVirtualKeyboardHidden

public

{ Public declarations }

FSavedY: Single;

FocusControl: TControl;

ParentedControl: TFMXObject;

function FocusedControl: TControl;

function GetFocusedControlOffset(KeyboardRect: TRect): Single;

...

function TfrmFeedBackMobile.FocusedControl: TControl;

begin

Result := nil;

if Assigned(Focused) and (Focused.GetObject is TControl) then

Result := TControl(Focused.GetObject);

end;

function TfrmFeedBackMobile.GetFocusedControlOffset(KeyboardRect: TRect): Single;

var

Control: TControl;

ControlPos: TPointF;

KeyboardTop: Single;

begin

Result := 0;

KeyboardTop := Height - (KeyboardRect.Bottom - KeyboardRect.Top) - 66;

// At least, should be. 66 is the height of the keyboard "done" bar

Control := FocusedControl;

if Assigned(Control) then

begin

ControlPos := Control.LocalToAbsolute(PointF(0, 0));

Result := KeyboardTop - ControlPos.Y + Control.Height + 2;

if Result >= 0 then

Result := 0;

end;

end;

procedure TfrmFeedbackMobile.FormVirtualKeyboardHidden(Sender: TObject;

KeyboardVisible: Boolean; const Bounds: TRect);

begin

FocusControl.Parent:= ParentedControl;

FocusControl.AnimateFloat('Position.Y', FSavedY, 0.1);

FocusControl.Align := TAlignLayout.alClient;

FocusControl:= nil;

end;

procedure TfrmFeedbackMobile.FormVirtualKeyboardShown(Sender: TObject;

KeyboardVisible: Boolean; const Bounds: TRect);

begin

FocusControl:= FocusedControl;

if not (FocusControl is TMemo) then Exit;

FocusControl.Align := TAlignLayout.alNone;

FSavedY := FocusControl.Position.Y;

FocusControl.Position.Y:= 0;

FocusControl.AnimateFloat('Position.Y',

FSavedY + GetFocusedControlOffset(Bounds), 0.1);

ParentedControl:= FocusControl.Parent;

FocusControl.Parent:= frmFeedbackMobile;

FocusControl.BringToFront;

end;

android虚拟按键 判断,如何检测虚拟键盘事件中的Android用Delphi相关推荐

  1. Android适配页面底部虚拟按键,解决与软键盘冲突,AndroidBug5497Workaround

    想全面了解解决方案不妨看下这两篇文章: https://blog.csdn.net/smileiam/article/details/69055963 https://blog.csdn.net/we ...

  2. 安卓平板隐藏虚拟按键_Android 4.0 虚拟按键、手机模式、平板模式

    关键词:android 4.0 手机模式(phone) 平板模式(table) 虚拟按键 lcd_density 平台信息: 内核:linux2.6/linux3.0 系统:android/andro ...

  3. vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍

    IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...

  4. android禁止输入框自动弹出软键盘,怎么禁用输入法-Android禁止EditText输入框自动弹出软键盘的4种方法...

    用户UI如果有EDITTEXT,经常会自己获得焦点弹出来,如果不需要输入法键盘,就需要禁止弹出.经常使用,现在总结如下: 1.父控件设置属性不弹出 EditText有一个 android:focusa ...

  5. html5触摸事件判断滑动方向,H5触摸事件中如何判断用户滑动方向

    这次给大家带来H5触摸事件中如何判断用户滑动方向,H5触摸事件中判断用户滑动方向的注意事项有哪些,下面就是实战案例,一起来看一下. 接口 TouchEvent TouchEvent 是一类描述手指在触 ...

  6. js键盘事件中的键码对照表

      JS中的键盘事件经常用到,收集了键盘事件对应的键码来分享下: keyCode 对应按键 8 BackSpace BackSpace 9 Tab Tab 12 Clear 13 Enter 16 S ...

  7. android java 最新判断手机号码 包含虚拟号

    /*** 验证手机号是否合法* @return*/public static boolean isMobileNO(String mobile){if (mobile.length() != 11){ ...

  8. android 关闭按键灯,安卓永久关闭键盘灯的方法

    安卓永久关闭键盘灯的方法 用RE管理器进入到/system 1.在system里新建文件,文件名为"关灯.sh" ,注意,后缀一定为 .sh 2.输入下面的代码 chmod 666 ...

  9. wpf中键盘事件中KeyPressEventArgs.Handled 的用法(解决键盘事件默认操作)

    KeyPressEventArgs.Handled 属性 (键盘的默认操作就是改变焦点,键盘方法需要为控件设置焦点) 获取或设置一个值,该值指示是否处理过 KeyPress 事件. 属性值类型:Sys ...

最新文章

  1. Go 知识点(11) — goroutine 泄露、设置子协程退出条件
  2. linux删除过期文件
  3. android studio 插件版本号和gradle版本号对应关系
  4. java如何理解继承性_理解 Java 的三大特性之继承
  5. 贫穷中透着零基础的单人制作游戏手册之一:怎么开局
  6. 【招聘(广州)】-年薪30W起-自助打印领域业内第一
  7. 优化自定义函数_Pandas常见的性能优化方法
  8. Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri
  9. 昨天飞鸽传书可能是因为太累了
  10. vim 设置标签等操作
  11. CNN手把手维修攻略:你的网络不好好训练,需要全面体检
  12. 从上千篇投稿脱颖而出,这5篇大数据论文凭什么征服KDD评委?
  13. Element ui tree树形控件获取当前节点id和父节点id
  14. Matlab DIP(瓦)ch5图像复原练习
  15. sourceTree 添加 ssh key 方法
  16. UNIX时间戳和北京时间的相互转换
  17. 基于色彩直方图匹配的颜色传递算法
  18. [NOIP2013 提高组] 火柴排队
  19. SDF!这特效牛不牛?
  20. 黑客可入侵自动洗车系统暴力攻击驾驶人

热门文章

  1. 乐教乐学各关的解(3-10)
  2. Python获取所有股票代码以及股票历史成交数据分析
  3. sketch首款主题管理插件-主题大师
  4. anaconda安装配置步骤、报错解决
  5. Protobuf 介绍与实战30:google/protbuf/any.proto, api.proto, descriptor.proto,empty.proto 在什么位置
  6. 如何比较两个数组/对象或数组对象是否相等
  7. jQuery简单实线钟表并随机钟表数字颜色
  8. 2、SpringBoot2组件添加注解与自动配置原理
  9. ant man 什么意思_ant是什么意思中文翻译
  10. C语言笔试题(嵌入式软件开发)