仮想キーボードが表示されたときにEditが隠れないようにする。 アプレナーの備忘録

投稿者: | 2014年11月27日

DXE7のandroidアプリにおいて、TEditをタップすると仮想キーボードが表示されますが画面下にあるEditはキーボードに隠されてしまい入力ができなくなってしまいます。この現象を回避する方法を探したところ、XE7のサンプルアプリの中にありました。

User Interfaceフォルダ内のScrollableFormがそれになります。
TVertScrollBox上に置いたTEditでのデモですが、ListBoxもTVertScrollBoxと同じプロパティがあるので応用できるとおもいます。

OnCalcContentBoundsの役割が何であるか理解するのに時間がかかりましたが、ここでContentBounds.Bottomに大きな値を代入することでスクロールできる領域が広がるのが確認できます。

また、TVertSceollBoxで表示位置を変えるのはViewportPosition にTPointFの座標を代入します。最初、ScrollByが使えると思いいろいろ試してみましたが、ScrollByはスクロールバーが見えている瞬間にしか効きませんでした。指で引っ張ったときしかスクロールバーが表示されないのでプログラムから位置を変えるには適していません。

p1

コメントを残す