それの内容がどのような向きでSelf.ClientHeightより(背の高い)大きい場合、垂直スクロールボックスにのみスクロールします。これを確認する最も良い方法は、TVertScrollboxにTLayoutを配置することです。次に、その高さをSelf.ClientHeight以上に設定します。それからスクロールするように見えます。
の向きに対応するため、およびFormResizeイベントハンドラを使用して、あまりにもちょうどではなくスクロールを取得するには:
procedure TfrmMain.FormResize(Sender: TObject);
begin
VScrollBox1.Align := TAlignLayout.Client;
Layout4.Align := TAlignLayout.Horizontal; // stays centered left-right
Layout4.Size.Height := 351 + 200; // space for VK here
Layout4.Size.Width := 451; // doesn't matter actually
あなたは私の垂直スクロールボックスがために十分なスペースを可能にすることを、私のコメントから注意しましょうその下にある仮想キーボード(約200ピクセル)。したがって、VKが起動すると、ユーザーは垂直スクロールボックスにあるレイアウトをスクロールすることができます。最初と最後のTEditコントロールは表示されますが、上と下の余分なスペースが表示されます。キーボードが表示されても、Self.ClientHeightは小さくなりません。注:レイアウトが高すぎると非常に混乱することがあります。上記の351の値はLayout4の最小サイズで、親TEditが一度に表示されるようになっています。
あなたがそれをスクロールするときに、その方向でSelf.ClientHeightが< 551であれば、たとえば、レイアウトがスクロールする表示され、スクロールバーが右側に表示さ(VertScrollBox1.ShowScrollBarsの場合:= TRUE)
はい、 知っている。それはWindowsとAndroidでもうまくいきます。問題は、1つのTLisboxコンポーネントをタップしてスクロールしようとすると、スクロールが機能しなくなることです。しかし、TGroupコンポーネントをタップしてスクロールしようとすると、スクロールが機能しています。とにかく私は解決策を見つけ出し、TListbox上のすべてのコンポーネントとスクロールを完全に実行しました。もう1つの問題は、スクロールして1つの編集フィールドをタップすると、キーボードがすぐに表示され、スクロールがブロックされます。 – Lionking
もちろん、VKはコントロールをブロックします。ここでは複雑なものを実際に扱っているので、動作する最も単純なサンプルを作成し、それをプロジェクトでどのように使用できるかを見ておくとよいでしょう。 Embarcaderoは、スクロールとVKの使い方のサンプルを提供しています。[Mobile Scrollable Form](http://docwiki.embarcadero.com/CodeExamples/XE5/en/FMX.Mobile.ScrollableForm_Sample_%28Delphi%29) – nolaspeaker