AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Android BackButton triggert FormVirtualKeyBoardHidden nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Android BackButton triggert FormVirtualKeyBoardHidden nicht

Ein Thema von fisipjm · begonnen am 7. Okt 2024 · letzter Beitrag vom 7. Okt 2024
Antwort Antwort
fisipjm

Registriert seit: 28. Okt 2013
299 Beiträge
 
#1

Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 11:21
Hi,

ich hab das Problem unter Delphi 12.2 (Weis nicht ob das schon jemals zuverlässig lief), das unter Android ein HardwareBack aufruf (Also der Pfeil Zurück bei Android um Aktionen abzubrechen) die Tastatur verschwinden lässt, aber kein FormVirtualKeyBoardHidden Triggert.

Kennt jemand einen zuverlässigen Weg das verschwinden der virtuellen Tastatur abzufragen? (ohne nochmal extra den hwBackButton abzufangen)

vG
PJM

Geändert von fisipjm ( 7. Okt 2024 um 11:57 Uhr)
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
898 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 12:48
Bei mir checke ich es so, d.h. ich prüfe, welche Felder sichtbar sind und ob ich die Tastatur verstecken muss oder auf meine Startseite wechsele.

Delphi-Quellcode:
procedure TicTrainerF.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
  {$IFDEF ANDROID}
  if Key = vkHardwareBack then
  begin
    if ((pQuestion.Visible and eQuestion.Visible) or ((TabControl.Visible) and ((tabControl.activeTab=tiBrowser) or (tabControl.activeTab=tiVideoChat) or (tabControl.activeTab=tiConnections)))) then
    begin
      if (keyboardService <> nil) then
        keyboardService.HideVirtualKeyboard;
    end else begin
      showPanel(pWizard);
      tiWizardClick(Sender);
      if (menuItemList<>nil) then
        menuItemList.checkForShowAction(false);
    end;
    Key:=0;
  end;
  {$ENDIF}
end;
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
299 Beiträge
 
#3

AW: Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 13:47
Bei mir checke ich es so, d.h. ich prüfe, welche Felder sichtbar sind und ob ich die Tastatur verstecken muss oder auf meine Startseite wechsele.

Delphi-Quellcode:
procedure TicTrainerF.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
  {$IFDEF ANDROID}
  if Key = vkHardwareBack then
  begin
    if ((pQuestion.Visible and eQuestion.Visible) or ((TabControl.Visible) and ((tabControl.activeTab=tiBrowser) or (tabControl.activeTab=tiVideoChat) or (tabControl.activeTab=tiConnections)))) then
    begin
      if (keyboardService <> nil) then
        keyboardService.HideVirtualKeyboard;
    end else begin
      showPanel(pWizard);
      tiWizardClick(Sender);
      if (menuItemList<>nil) then
        menuItemList.checkForShowAction(false);
    end;
    Key:=0;
  end;
  {$ENDIF}
end;
Hi Phillip,

danke für deine Antwort. Aber das wäre ja genau der Punkt den ich vermeiden möchte. Dann muss ich mir nochmal zusätzlich die KeyUp funktion definieren... Wäre schön wenn Events einfach das machen würden das sie sollen
By the Way, hab ein RSP dafür auf gemacht, wer Kommentieren will kann gern mit machen, Voten geht ja mit dem neuen System nicht mehr. Ein Trauerspiel
https://embt.atlassian.net/servicede...tal/1/RSS-2040
und da ich schon dabei war.
https://embt.atlassian.net/servicede...tal/1/RSS-2041
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
898 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 13:55
Ok, in meinem Fall gibt es mehrere Keys die ich eh abfangen möchte. Unter Windows und MacOS z.B. die typischen Shortcuts.
Sehe daher jetzt für mich kein Problem in der Lösung.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
299 Beiträge
 
#5

AW: Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 14:03
Ok, in meinem Fall gibt es mehrere Keys die ich eh abfangen möchte. Unter Windows und MacOS z.B. die typischen Shortcuts.
Sehe daher jetzt für mich kein Problem in der Lösung.
Unter Android und in meinem Fall (der eigentlich nicht so speziell ist) funktioniert das auch nicht als Workaround, warum?
Wenn du ein Memo Feld auf der Form hast (Unter Android) und deine Tastatur auf ist und du diese Tastatur schließt (Über HardwareBack) dann wird KeyUp auch nicht getriggert, erst nachdem man ein weiteres mal Zurück ausführt.
Das Keyboard über den HardwareBackButton verschwinden zu lassen schleicht sich scheinbar gänzlich an allen Events vorbei.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
299 Beiträge
 
#6

AW: Android BackButton triggert FormVirtualKeyBoardHidden nicht

  Alt 7. Okt 2024, 16:13
Und weils so schön war gleich noch einer:
https://embt.atlassian.net/servicede...tal/1/RSS-2047
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz