2017-01-04 3 views
0

Ich brauche das wirklich! Wenn ich eine Bearbeitung einstelle, zeigt die Tastatur automatisch an ... aber wenn ich die Bearbeitung berühre, versteckt sich die Tastatur nicht! Ich suche nach einer Antwort, aber ich kann es nicht tun! Bitte, kann mir jemand helfen ?!Verstecken Sie eine Tastatur in Android Delphi XE8

+0

Vielleicht können Sie einige Hinweise in http://stackoverflow.com/questions/24182353/how-to-detect finden -virtual-keyboard-events-in-android-with-delphi –

+0

Wenn Sie Tedit auf Android verwenden, empfehle ich Ihnen, eine native Android-Bearbeitung zu verwenden. Ich habe oft den Firefemonkey Tedit ein wenig Buggy (wie mit der Tastatur, die mit einem "virtuellen Proxy-Textfeld" verbunden ist, weil der Tedit keine Java-Komponente ist, ist es zu 100% von Delphi gezogen). Sie können die kompilierte Demo hier ausprobieren: https://svn.code.sf.net/p/alcinoe/code/demos/ALFmxControls/Android/Release/ALFmxControls/bin/ALFmxControls.apk) und den Quellcode hier: https: //svn.code.sf.net/p/alcinoe/code/ – loki

Antwort

1

FireMonkey verfügt über einen speziellen Dienst zum Verwalten der virtuellen Tastatur. Es ist IFMXVirtualKeyboardService (Embarcadero Docs). Damit können Sie die Tastatur ein- und ausblenden. die Tastatur auszublenden den folgenden Code versuchen:

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; 

Tastatur zeigen

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