码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-09-04 15:30:56      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

结果:

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.

 

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

标签:

原文地址:http://www.cnblogs.com/FKdelphi/p/4781746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!