2017-01-04 69 views
0

我真的需要這個!當我進入編輯時,鍵盤自動顯示..但是當我觸摸編輯時,鍵盤不會隱藏!我正在尋找答案,但我做不到! 請,有人可以幫我嗎?!隱藏在Android中的鍵盤德爾福XE8

+0

也許你可以找到一些線索在http://stackoverflow.com/questions/24182353/how-to-detect -virtual-keyboard-events-in-android-with-delphi –

+0

如果你在android上使用Tedit,我建議你使用原生的android編輯。我經常創建firemonkey Tedit一個小錯誤(就像鍵盤,它連接到一個「虛擬代理文本字段」,因爲Tedit不是一個java組件,它被delphi 100%繪製)。你可以在這裏嘗試編譯的演示:https://svn.code.sf.net/p/alcinoe/code/demos/ALFmxControls/Android/Release/ALFmxControls/bin/ALFmxControls.apk)和源代碼在這裏:https: //svn.code.sf.net/p/alcinoe/code/ – loki

回答

1

FireMonkey具有管理虛擬鍵盤的特殊服務。它是IFMXVirtualKeyboardService(Embarcadero Docs)。它允許您顯示和隱藏鍵盤。 隱藏鍵盤試試下面的代碼:

uses 
    FMX.Platform, FMX.VirtualKeyboard; 

procedure TForm5.ButtonHideKeybordClick(Sender: TObject); 
var 
    KeyboardService: IFMXVirtualKeyboardService; 
begin 
    if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then 
    KeyboardService.HideVirtualKeyboard; 
end; 

來說明鍵盤

procedure TForm5.ButtonShowKeyboardClick(Sender: TObject); 
var 
    KeyboardService: IFMXVirtualKeyboardService; 
begin 
    if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then 
    KeyboardService.ShowVirtualKeyboard(Edit1); 
end;