GXT 滚动条隐藏字段

GXT Scrollbars hiding fields

我有一个 verticalLayoutContainer,里面有一个字段集,还有一个 FlowLayoutContainer。当我在 FlowLayoutContainer 上将滚动模式设置为 ALWAYS 时,滚动条现在隐藏了其中的一些字段。

添加卷轴前后的截图。

 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g="urn:import:com.google.gwt.user.client.ui"
  xmlns:c="urn:import:com.sencha.gxt.widget.core.client" xmlns:container="urn:import:com.sencha.gxt.widget.core.client.container"
  xmlns:form="urn:import:com.sencha.gxt.widget.core.client.form" xmlns:button="urn:import:com.sencha.gxt.widget.core.client.button"
  xmlns:icon="urn:import:com.ffobar.widget">

    <ui:with type="com.sencha.gxt.core.client.util.Margins" field="nomargins">
        <ui:attributes top="0" right="0" bottom="0" left="0" />
    </ui:with>
    <ui:with type="com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData" field="verticalLayoutChildData">
        <ui:attributes width="1" height="1" margins="{nomargins}"/>
    </ui:with>
    <ui:with type="com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData" field="verticalLayoutData">
        <ui:attributes width="0.32" height="1"/>
    </ui:with>

    <c:FramedPanel headerVisible="false">
        <container:VerticalLayoutContainer layoutData="{verticalLayoutData}">
            <container:child layoutData="{verticalLayoutChildData}">
                <form:FieldSet headingText="Cross References" collapsible="true" expanded="true" ui:field="fsXref" >
                    <container:FlowLayoutContainer scrollMode="ALWAYS" ui:field="gcXref" >
                        <icon:FixedGrid ui:field="grid"></icon:FixedGrid>
                    </container:FlowLayoutContainer>
                </form:FieldSet>
            </container:child>
        </container:VerticalLayoutContainer>
    </c:FramedPanel>
</ui:UiBinder>

网格中添加了文本字段,这些文本字段现在被水平滚动覆盖。

之前

您可以在面板的右侧放置一个填充以说明滚动条,或者您可以使用 VLC 中的滚动支持,它有一个方法 adjustForScroll。但是,即使没有滚动条,这也会始终调整内容以考虑滚动条。

我通过检查 VLC 上是否存在滚动条解决了这个问题:

boolean hasScroll = container.getScrollSupport().getMaximumVerticalScrollPosition() > 0;
container.setAdjustForScroll(hasScroll);