FMX安卓APP,输入法面板最小化(隐藏)时,就是点击输入法面板右上角的下三角按钮时,不会触发OnVirtualKeyboardHidden事件

ooolinux 2022-11-16 16:09:24

FMX安卓APP,输入法面板最小化(隐藏)时,就是点击输入法面板右上角的下三角按钮时,不会触发OnVirtualKeyboardHidden事件(按系统返回键可以触发),这个从代码层面有没有办法?比如用定时器检测之类的

 

 

...全文
234 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

我查到一种简单的解决方法,在项目的androidmanifest.xml中加入一行
android:windowSoftInputMode="adjustResize"
据说这样之后,虚拟键盘窗口显示/隐藏的时候,系统会调整应用窗口的大小
你可以试试

ooolinux 2022-11-29
  • 举报
回复
@日立奔腾浪潮微软松下联想 我有空试试
  • 打赏
  • 举报
回复

我看了一下,他这个针对XE5的修改还要稍改一下:
C:\Program Files (x86)\Embarcadero\Studio\版本\source\fmx\FMX.VirtualKeyboard.Android.pas
这个文件先备份一下,然后按他的方法添加上三段代码
最后一段要改成这样:
{+++>}
// 这里只解决: 按键盘上的隐藏后, 无法再按上一页的问题 (按上一页后, 才会执行这里).
if FState = TvkbState.Shown then
if ObtainKeyboardRect.Height < 30 then
SetState(TVirtualKeyboardAndroid.TvkbState.Hidden);
{<+++}
然后保存,进入命令行编译修改后的文件:
release版
dccaarm -JH -$O+D-L- FMX.VirtualKeyboard.Android.pas
debug版
dccaarm -JH -$O-D+L+ FMX.VirtualKeyboard.Android.pas
把生成的对应的hpp文件复制到radstudio安装目录的include\android\fmx
dcu和o文件复制到radstudio安装目录的lib\android下的对应目录
然后build你的工程就可以了

因为你只用CB,就不用编译出64位版了

ooolinux 2022-11-26
  • 举报
回复
@日立奔腾浪潮微软松下联想 把这个pas加入CB的工程可以吗?
  • 举报
回复
@ooolinux 也应该是可以的,但只有当前工程可用
ooolinux 2022-11-27
  • 举报
回复
@日立奔腾浪潮微软松下联想 代码再改了一下,能用了,就是基于Timer而不是消息有点凑合, 不知道英巴最新版本有没有解决虚拟键盘隐藏的问题
  • 打赏
  • 举报
回复

可以删除某个虚拟键盘按钮或者捕捉虚拟键盘按钮的事件
uses FMX.Platform;

if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService) then
begin
// ...
end;

我有空再研究一下,毕竟对安卓没有windows那么熟悉~

ooolinux 2022-11-19
  • 举报
回复
@日立奔腾浪潮微软松下联想 ok
ooolinux 2022-11-23
  • 举报
回复
@日立奔腾浪潮微软松下联想 https://blog.csdn.net/weixin_36154762/article/details/117609166 这个代码是做什么用的?
  • 举报
回复
@ooolinux 应该是把焦点控制移到虚拟键盘窗口的上方
2条回复
tanqth 2022-11-16
  • 打赏
  • 举报
回复

是的,这个是一个BUG哈。

ooolinux 2022-11-17
  • 举报
回复
@tanqth 有解决办法吗?
tanqth 2022-11-17
  • 举报
回复
@ooolinux 老猫的补丁有解决。
ooolinux 2022-11-18
  • 举报
回复
@tanqth 关键字是什么?CB能用吗?
5条回复
  • 打赏
  • 举报
回复

点了后是什么状态

ooolinux 2022-11-16
  • 举报
回复
@日立奔腾浪潮微软松下联想 面板隐藏,但没有其它动作
ooolinux 2022-11-17
  • 举报
回复
@日立奔腾浪潮微软松下联想 这个有办法吗?

5,557

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧