Android实例-处理隐藏输入法后不再显示问题(XE8+小米2)

结果:

1.可以处理再次显示问题,但缺点是每个控件都要处理一次,累。哪位大神有好的处理方法,请M我。

 

实例代码:

 1 unit Unit1;
 2 
 3 interface
 4 
 5 uses
 6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
 7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ComboEdit,
 8   FMX.Edit, FMX.EditBox, FMX.NumberBox, FMX.DateTimeCtrls, FMX.ScrollBox,
 9   FMX.Memo, FMX.Controls.Presentation, FMX.StdCtrls,
10   FMX.VirtualKeyboard,//需要引入
11   FMX.Platform,//需要引入
12   FMX.Layouts;
13 
14 type
15   TForm1 = class(TForm)
16     VertScrollBox1: TVertScrollBox;
17     Layout1: TLayout;
18     Memo1: TMemo;
19     Label1: TLabel;
20     Button1: TButton;
21     Edit1: TEdit;
22     Edit2: TEdit;
23     procedure FormCreate(Sender: TObject);
24     procedure FormFocusChanged(Sender: TObject);
25     procedure FormVirtualKeyboardHidden(Sender: TObject;
26       KeyboardVisible: Boolean; const Bounds: TRect);
27     procedure FormVirtualKeyboardShown(Sender: TObject;
28       KeyboardVisible: Boolean; const Bounds: TRect);
29     procedure Edit2Click(Sender: TObject);
30   private
31     //定义输入法变量
32     FService: IFMXVirtualKeyboardToolbarService;
33     FService_kb: FMX.VirtualKeyboard.IFMXVirtualKeyboardService;
34     { Private declarations }
35   public
36     { Public declarations }
37   end;
38 
39 var
40   Form1: TForm1;
41 
42 implementation
43 
44 {$R *.fmx}
45 {$R *.NmXhdpiPh.fmx ANDROID}
46 //如果再次点击EDIT应做出反映
47 procedure TForm1.Edit2Click(Sender: TObject);
48 begin
49   if TEdit(Sender).IsFocused and Assigned(FService_kb) then
50   try
51     FService_kb.ShowVirtualKeyboard(TEdit(Sender));
52   except
53   end;
54 end;
55 
56 procedure TForm1.FormCreate(Sender: TObject);
57 begin
58   //控制虚拟键盘的操作
59   TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService,
60   IInterface(FService_kb));
61   if TPlatformServices.Current.SupportsPlatformService
62   (IFMXVirtualKeyboardToolbarService, IInterface(FService))then
63   begin
64     FService.SetToolbarEnabled(true);
65     FService.SetHideKeyboardButtonVisibility(true);
66   end;
67 end;
68 
69 end.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值