Проблема сохранилась и в IDE Delphi Rio 10.3 . Причиной оказалось то, что в модуле FMX.StdCtrls в процедуре TExpander.UpdateControlSize указана переменная FContentHeight вместо FContent.Height
procedure TExpander.UpdateControlSize(const ChangingState: Boolean);
begin
FChangingState := ChangingState;
try
if FIsExpanded then
begin
FContent.Visible := FIsExpanded;
if FButton <> nil then
Height := FButton.Height + FContent.Height; // здесь заменил FContentHeight на FContent.Height и заработало
Repaint;
end
else
begin
Repaint;
FContent.Visible := FIsExpanded;
if FButton <> nil then
Height := FButton.Height;
end;
finally
FChangingState := False;
end;
end;
Хм. Сорри. Проблема есть. Но только на дефолтном стиле. Если загрузить какой-то стиль - проблема исчезает. Так что проблема не в FMX а в дефолтном стиле.
Боролись как-то с артефактами отображения (мы их прозвали "крокодилами" из-за сходства на первом скриншоте с этим багом)...
Могли отображаться также левые спрайты, или обрезки скролившихся контролов...
Коллега выяснил что не надо трогать Form.Fill, из-за переключения в недрах FMX нативной и не нативной канвы: если нужен фон - брось Rect по контенту и в нем делай заливку...