2014-09-16 2 views
0

У меня проблема.Скрыть полосу прокрутки в SAPUI5 страница

У меня есть список твитов для показа на странице. Для мобильных устройств я не хочу показывать правильную вертикальную полосу прокрутки.

Я создал страницу со своим слайдером и списком твитов. Затем я помещаю эту страницу в контейнер прокрутки.

Затем я возвращаю контейнер прокрутки.

Код это:

sap.ui.jsview("ttest.initView", { 

/** Specifies the Controller belonging to this View. 
* In the case that it is not implemented, or that "null" is returned, this View does not have a Controller. 
* @memberOf ttest.initView 
*/ 
getControllerName : function() { 
    return "ttest.initView"; 
}, 

/** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed. 
* Since the Controller is given to this method, its event handlers can be attached right away. 
* @memberOf ttest.initView 
*/ 
createContent : function(oController) { 

    var oTweetList = new sap.m.List("items", { 
      threshold: 2, 
      inset : false,  
      showUnread : true, 
      scrollToLoad : true, 

      columns : [ 
      new sap.m.Column({ 
       styleClass : "data", 
       hAlign : "Left", 
      }) 
      ] 
    }); 

    var oSlider = new sap.m.Slider({ 
     id: "tweetSlider", 
     width: '100%', 
     min: 0, 

     change : function(oEvent){ 
      //Update tweet list 
      var startIndex = 0; 
      var endIndex = this.getValue(); 
      oController.updateTweetList("update", startIndex, endIndex); 
     } 
    }); 

    var oPage = new sap.m.Page({ 
     title: "Tweet list for @matteorenzi", 
     enableScrolling : false, 
     headerContent: [ 
      new sap.m.Button({ 
       icon: "sap-icon://refresh", 
       press : function(oEvent){ 
        //Update tweet list with all tweets 
        oController.updateTweetList("first", "", ""); 
       } 
      }) 
     ], 
     content: [ 
      oSlider, 
      oTweetList 
     ] 
    }); 

    var oScroller = new sap.m.ScrollContainer({ 
     vertical : true, 
     horizontal : false, 
     content : [ 
        oPage 
     ] 
    }); 

    oEventBus.subscribe("it.besolution.PopulateList", "Go", function(chId, evId, data){ 
     var template = new sap.m.ColumnListItem({ 
      type : "Navigation", 
      cells : [ 
       new it.besolution.Tweet({ 
        user :  "{user/name}", 
        username : "{user/screen_name}", 
        tweet :  "{text}", 

        press : function(oEvent){  
         var path = this.getBindingContext().getPath(); 
         sap.ui.getCore().byId("iduserDetails").setModel(oGlobalModel).bindElement(path); 
         app.to("iduserDetails"); 
        } 
       }) 
      ] 
     }); 

     oSlider.setMax(oGlobalModel.getProperty("/size") - 1); 

     oTweetList.setModel(oGlobalModel); 
     oTweetList.bindAggregation("items", "/tweets/", template); 
    }); 

    return oScroller; 
} 

}); 

страница не сработал. Я не знаю, как это сделать. Почему список невидим?

Очевидно, что если я удалю контейнер прокрутки, и я верну элемент oPage, список будет виден.

Почему? Как мне написать свой код, чтобы показывать список без полосы прокрутки?

ответ

0

Если вы не хотите показывать правую вертикальную полосу прокрутки. Существует свойство, называемое enableScrolling. И вы действительно хотите использовать ScrollContainer, поместите его как Page, а не наоборот.

enableScrolling default: true 

Независимо от того, выполняет ли страница специальные меры для обеспечения прокрутки содержимого страницы и фиксации заголовков. Если установлено значение false, прокрутки вообще не будет; по соображениям производительности это настоятельно рекомендуется, когда прокрутка не нужна. Страница только позволяет вертикальную прокрутку, потому что горизонтальная прокрутка вообще не рекомендуется для полностраничного содержимого. Если этого еще нужно достичь, отключите прокрутку страницы и используйте ScrollContainer в качестве полностраничного содержимого страницы. Это позволяет вам свободно настраивать прокрутку. Его также можно использовать для создания горизонтальных прокруток подстраниц (вертикальной прокрутки) Страницы.

+0

Да! Поэтому я должен поместить ScrollContainer в страницу, а не в другую сторону. Хорошее решение! Я думал, что мне нужно изменить файл css и что проблему невозможно разрешить в SAPUI5. Большое спасибо! – sharkbait