Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Android : Virtuelle Tastatur und Eingabeelement ganz unten (https://www.delphipraxis.net/207293-android-virtuelle-tastatur-und-eingabeelement-ganz-unten.html)

stalkingwolf 10. Mär 2021 12:02

Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Moin,

wie handhabt ihr z.b ein Memofeld ganz unten auf eurer Form und dem einblenden der virtuellen Tastatur.

Es gibt APPs die schieben alles hoch so das die virtuelle Tastatur unter dem Eingabefeld ist.
Dafür müsste man wissen wie groß die Tastatur ist und das ist selber eine Art APP und die Form müsste dann nach unten größer sein.

Aktuell implementiere ich entweder alle solche Felder ganz oben auf der UI oder generiere unten toten Platz in meiner Form, so dass dies ungefähr hinkommt.
Schön ist allerdings anders.

philipp.hofmann 10. Mär 2021 13:22

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Mache ich auch genauso: Ich plane die UI schon so, dass die untere Hälfte keine Eingabefelder enthält.

himitsu 10. Mär 2021 13:28

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Auf einblenden der Tastatur reagieren und die Hochscrollen, bzw. das Edit verschieben.

Es gibt auch Programme, die grauen das Fenster aus, und blenden oben ein eigenständiges Edit ein, für die Eingabe.

KodeZwerg 10. Mär 2021 13:36

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Für eigene Keyboards kann man RegisterShowVKProc() nutzen.
Nur beschreibt die Online Hilfe nicht gerade viel.

bcvs 10. Mär 2021 14:03

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Hier gibt es noch etwas dazu:
http://docwiki.embarcadero.com/CodeE...Sample_(Delphi)

KodeZwerg 10. Mär 2021 14:13

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Zitat:

Zitat von bcvs (Beitrag 1484819)

Repariere Link zu einem mit Inhalt :-)

himitsu 10. Mär 2021 14:49

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
es muß nur die ) mit zwischen [url]...)[/url] anstatt [url]...[/url])

Die automatische Linkerkennung ist nicht schlau genug die schließende Klammer mit zur URL zu zählen, wenn eine Öffnende ( mit drin ist.

stalkingwolf 10. Mär 2021 15:34

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Danke für den Link zum sample. Direkt mal geöffnet und ausprobiert.
Das ist das was ich suchte.
Werde ich nachher einmal in meine App einbauen.

Mavarik 12. Mär 2021 13:02

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Das MainForm auf eine VScrollbox und dann einfach hoch schieben wenn die Tastatur eingeblendet wird.

Mavarik

KodeZwerg 12. Mär 2021 13:09

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Zitat:

Zitat von himitsu (Beitrag 1484824)
es muß nur die ) mit zwischen [url]...)[/url] anstatt [url]...[/url])

Ich hätte dann beim DocWiki etwas wie 404 erwartet, hab gar nicht auf seine Zeile bzw den Link der geöffnet wurde geschaut.
Ich sah nur eine leere Seite als Ergebnis.

Incocnito 18. Mär 2021 13:09

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Ich lasse ganz trivial über Form.OnVirtualKeyboardHidden / Form.OnVirtualKeyboardShown
ein Panel ein- und ausblenden. Man muss aber trotzdem das etwas im Auge behalten, dass
dann andere Sachen evtl. zusammen gestaucht werden. Aber bisher klappt das ganz gut.
Gerade Memos (die nach dem Einblenden der Tastatur noch hoch genug sind) oder
ListBoxen laufen so wunderbar weiter.
Delphi-Quellcode:
procedure TfrmSomeWindow.FormVirtualKeyboardShown(
  Sender         : TObject;
  KeyboardVisible : Boolean;
  const Bounds   : TRect
);
begin
  if (KeyboardVisible) then
  begin
    pnlKeyboard.Height := Bounds.Height;
  end else
  begin
    pnlKeyboard.Height := 1;
  end;
end;
Mehr ist das bei mir nicht.

LG Incocnito

Mavarik 18. Mär 2021 14:00

AW: Android : Virtuelle Tastatur und Eingabeelement ganz unten
 
Zitat:

Zitat von Incocnito (Beitrag 1485445)
Delphi-Quellcode:
procedure TfrmSomeWindow.FormVirtualKeyboardShown(
  Sender         : TObject;
  KeyboardVisible : Boolean;
  const Bounds   : TRect
);
begin
  if (KeyboardVisible) then
  begin
    pnlKeyboard.Height := Bounds.Height;
  end else
  begin
    pnlKeyboard.Height := 1;
  end;
end;
Mehr ist das bei mir nicht.

LG Incocnito

Das funktioniert aber nicht oder nur ganz bedinngt...
Was ist wenn Du ein Formular hast das in sich schon scrollt. Oder wenn Du dadurch das eigentliche controll "oben raus" scrollst...
Daher müssen alle controls auf eine Scrollbox und das Control, das den Focus hat, am oberen Rand des sichtbaren Bereiches positioniert werden.

Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 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