2015-02-26 3 views
0

У меня есть вертикальный контейнерLayoutContainer с внутренним слоем внутри и FlowLayoutContainer внутри этого. Когда я устанавливаю режим прокрутки в ALWAYS на FlowLayoutContainer, полоса прокрутки теперь скрывает некоторые из полей внутри.GXT Полосы прокрутки скрытых полей

Скриншоты до и после добавления прокрутки.

<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> 

В текстовое поле добавлены текстовые поля, которые теперь покрываются прокруткой H.

Перед Before После After

ответ

1

Вы можете поставить прокладку на правой стороне панели для учета полосы прокрутки или вы можете использовать скроллинг поддержку в VLC, который имеет метод adjustForScroll. Тем не менее, это всегда настраивает содержимое для учета полосы прокрутки, даже если нет полосы прокрутки.

я преодолел эту проблему путем проверки, если полоса прокрутки присутствовал на VLC:

boolean hasScroll = container.getScrollSupport().getMaximumVerticalScrollPosition() > 0; 
container.setAdjustForScroll(hasScroll); 
Смежные вопросы