2Pascal-新时代的Pascal

标题: 新手求教,XE8怎么实现隐藏Android软键盘(输入法)? [打印本页]

作者: yoeotan    时间: 2015-6-16 14:06
标题: 新手求教,XE8怎么实现隐藏Android软键盘(输入法)?
如题:XE8怎么实现隐藏Android软键盘?
也就是当切换TEdit焦点时不弹出Android软键盘。
作者: wang_80919    时间: 2015-6-16 14:14
1. 如果不想让用户用键盘输入, ReadOnly 设置成 True 就完事大吉了。
2. 如果不想显示软键盘,又想能用键盘输入,可以设置全局变量
  VKAutoShowMode := TVKAutoShowMode.Never;
需要 uses FMX.Types;
作者: drifer    时间: 2015-6-16 14:20
wang_80919 发表于 2015-6-16 14:14
1. 如果不想让用户用键盘输入, ReadOnly 设置成 True 就完事大吉了。
2. 如果不想实现软键盘,又想能用键 ...

没看懂,什么叫不想实现又想能用?
作者: drifer    时间: 2015-6-16 14:21
我是想在我点击的时候弹出来,但在我滑动的时候(碰到了)不弹出来.
这个怎么设置

作者: wang_80919    时间: 2015-6-16 14:23
drifer 发表于 2015-6-16 14:21
我是想在我点击的时候弹出来,但在我滑动的时候(碰到了)不弹出来.
这个怎么设置
...

难,建议 你滑动开始 EDIT 只读,滑动结束,取消只读。
作者: drifer    时间: 2015-6-16 14:30
wang_80919 发表于 2015-6-16 14:23
难,建议 你滑动开始 EDIT 只读,滑动结束,取消只读。

关键是你在点下去之前就要设置为只读,不好处理.
作者: wang_80919    时间: 2015-6-18 08:44
或者  VKAutoShowMode := TVKAutoShowMode.Never;
然后 参考 《不看后悔》 修复 安卓 输入法隐藏 后 无法退出的问题 3.4.txt
里头的代码,人工显示虚拟键盘。
作者: wang_80919    时间: 2015-8-15 12:37
在Edit的OnEnter事件中加入如下代码即可使EDIT在获得焦点时不弹出输入法:
VKAutoShowMode := TVKAutoShowMode.Never;


需引用FMX.Types单元

TVKAutoShowMode有三个属性efinedBySystem, Never, Always

如果需要再次弹出输入法,只需要Edit的OnExit事件中加入如下代码即可
VKAutoShowMode := TVKAutoShowMode.DefinedBySystem;

以上内容来自 [东莞]光头仔(124054867);
作者: wang_80919    时间: 2015-9-18 14:28
送大家一个 用 代码 显示 和 隐藏的 代码。

var
  VirtualKeyboard: IFMXVirtualKeyboardService;


    if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService,
      IInterface(VirtualKeyboard)) then
    begin
      if not (TVirtualKeyboardState.Visible in VirtualKeyboard.VirtualKeyBoardState) then
      begin        //显示
        VirtualKeyboard.ShowVirtualKeyboard(Edit1);
      end;
    end;



    if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService,
      IInterface(VirtualKeyboard)) then
    begin
      if (TVirtualKeyboardState.Visible in VirtualKeyboard.VirtualKeyBoardState) then
      begin
        //隐藏
        VirtualKeyboard.HideVirtualKeyboard;
      end;
    end;






欢迎光临 2Pascal-新时代的Pascal (http://2pascal.com/) Powered by Discuz! X3