diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java index 0dd2fcc15..a06cb1cd0 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java @@ -14,6 +14,8 @@ import com.fr.design.widget.FRWidgetFactory; import com.fr.form.main.Form; import com.fr.form.ui.FormWidgetHelper; import com.fr.form.ui.Widget; +import com.fr.form.ui.container.WBodyLayoutType; +import com.fr.form.ui.container.WFitLayout; import com.fr.form.ui.container.WLayout; import com.fr.form.ui.container.WSortLayout; import com.fr.form.ui.widget.CRBoundsWidget; @@ -123,9 +125,7 @@ public class MobileComponentFrozenPane extends BasicPane { } private List frozenWidgets() { - Form form = WidgetPropertyPane.getInstance().getEditingFormDesigner().getTarget(); - WLayout container = form.getContainer(); - WSortLayout wSortLayout = (WSortLayout) container.getWidget(container.getWidgetCount() - 1); + WSortLayout wSortLayout = getBodyWSortLayout(); List list = wSortLayout.getNonContainerWidgetList(); List widgets = new ArrayList<>(); for (String value : list) { @@ -137,6 +137,18 @@ public class MobileComponentFrozenPane extends BasicPane { return widgets; } + private WSortLayout getBodyWSortLayout() { + Form form = WidgetPropertyPane.getInstance().getEditingFormDesigner().getTarget(); + WLayout container = form.getContainer(); + WFitLayout wFitLayout = (WFitLayout) container.getWidget(container.getWidgetCount() - 1); + WSortLayout wSortLayout = wFitLayout; + if (wFitLayout.getBodyLayoutType() == WBodyLayoutType.ABSOLUTE) { + CRBoundsWidget boundsWidget = (CRBoundsWidget) wFitLayout.getWidget(0); + wSortLayout = (WSortLayout) boundsWidget.getWidget(); + } + return wSortLayout; + } + @Override protected String title4PopupWindow() { return "ComponentFrozenPane";