お世話になっております。
Windows10、DelphiXE8です。
新規作成→マルチデバイスアプリケーション
で、スマホ用アプリを作成しています。
FormにMemoを配置して、フォームと同じサイズに設定しています。
プログラム実行時に、Memoをタップして、文字入力しようとすると、画面下部に仮想キーボードが表示され、Memoの下部が隠れてしまい、その部分のMemoに内容が見られません。
FormにLayoutを配置して、AlignをClientにして、その上にMemoを配置する、とかを試してみましたが、うまくいきませんでした。
仮想キーボードのサイズに応じて、Memoのサイズを変えるには、どうしたらよいでしょうか?
よろしくお願いします。
仮想キーボードの高さはフォームのOnVirtualKeyboardShownイベントの引数Boundsで取得できます。
http://docwiki.embarcadero.com/Libraries/XE8/ja/FMX.Forms.TCommonCustomForm.OnVirtualKeyboardShown
仮想キーボードについては、サンプルプロジェクトのVirtualKeyboardDemoが参考になると思います。
Object Pascal\Multi-Device Samples\User Interface\KeyboardTypes\VirtualKeyboardDemo.dpr
サンプルプロジェクトは、[スタート|プログラム|Embarcadero RAD Studio 10.1 Berlin|サンプル]にインストールされます。
ありがとうございます。
フォームにOnVirtualKeyboardShownイベントというのがあるのを知りませんでした。
これを使えば、簡単でしたね。
Memo1のAlignプロパティをTopにして、
OnVirtualKeyboardShownイベントで、
memo1.Height:=Bounds.Top;
にしたら、思い通りのことができました。
ほんとに、ありがとうございました。
ツイート | ![]() |