Android实例-处理隐藏输入法后不再显示问题(XE8+小米2)
2023-09-14 08:57:11 时间
结果:
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_(游戏)打飞机04:绘画敌机、添加子弹
- Android实例-GestureManager手势支持放大缩小左右移动上下移动
- Android实例-红外线操作(XE10.2+小米5)
- Android实例-拍摄和分享照片、分享文本(XE8+小米2)
- Android 开发之旅:短信的收发及在android模拟器之间实践(一)
- 《android开发艺术探索》读书笔记(十一)--Android的线程和线程池
- 《android开发艺术探索》读书笔记(十)--Android的消息机制
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
- macos安装android studio(Android Studio 2021.1.1)
- Android getSystemService用法实例总结
- Weex Android 文字渲染优化
- Android 11.0 12.0系统默认开启wifi
- Android 9.0 系统管控蓝牙模块的启用和禁用功能实现
- android在eclipse中打包(签名包)方法及常见问题解决
- android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)
- Android传感器概述(六)
- Android设置RadioButton在文字的右边
- android修改默认输入法
- 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
- android 输入法如何启动流程_Android输入法显示流程
- 用Android Studio进行NDK编程入门实例
- :app:checkDebugAarMetadata Your project has set `android.useAndroidX=true`, but configuration `:app:
- Android的报错提示:Failed to resolve: com.android.support:appcompat-v7:28.0.0
- Android的java代码如何自动转Kotlin