2013-11-14 2 views
4

Я использую TVertScrollBox в приложении Delphi FireMonkey, которое должно работать на Android, iOS и Win32. Мое приложение отлично работает на Win32, то есть, когда ящик больше, чем доступная область, я получаю полосу прокрутки, и я могу ее прокручивать.My TVertScrollBox не хочет прокручиваться по Android

Однако на Android в коробке отображается столько элементов, сколько возможно, но отказывается прокручиваться. Ожидаемое поведение заключается в том, что я могу перетащить точку внутри поля и вызвать прокрутку окна.

Вот соответствующий код:

with TVertScrollBox.Create(Self) do 
begin 
    Parent := Self; 
    Align := TAlignLayout.alClient; 

    // AddObject several times here...  

    UpdateStyle(); 

    Visible := True; 
end; 

ответ

0

Вы должны убедиться в том, что компоненты/объекты вы положили в вашем VertScrollbox является Taller/Высшее, что VertScrollBox.

Если компонент внутри VertScrollBox меньше или короче, VertScrollBox не будет иметь никакого эффекта

с TVertScrollBox.Create (Self) у начинают Parent: = Я; Выравнивание: = TAlignLayout.alClient;

// AddObject несколько раз здесь ...
// попробуйте установить yourobject.Height в TVertScrollBox.Height * 2 // выравнивать yourobject к alTop

UpdateStyle();

Видимый: = True; конец;

+0

Возможно, я ошибаюсь, но это кажется мне очевидным. Компоненты, которые я пытаюсь прокрутить, действительно больше, чем контейнер, который я пытаюсь прокрутить. В противном случае я бы не ожидал, что они будут прокручиваться. – spierepf

Смежные вопросы