2011-05-21 36 views
0

我有两个垂直字段管理器,我想在第一个上启用滚动并在第二个上禁用它。因此,当我滚动一个垂直领域经理卷轴和所有其他内容仍然存在。 只需myv2滚动 当前整个屏幕滚动。在垂直字段管理器中禁用滚动功能

final TweetOptionsVerticalFieldManager myv = new TweetOptionsVerticalFieldManager(USE_ALL_WIDTH | NO_VERTICAL_SCROLLBAR | VerticalFieldManager.NO_VERTICAL_SCROLL){ 

    //override in order to set maximum height for the manager 
    protected void sublayout(int maxWidth, int maxHeight) 
    { 
     //set width 
     int displayWidth = Display.getWidth(); 
     //set height 
     int displayHeight = tweetBtnManager.getHeight() + Constants.HEADER_LOGO.getHeight(); 

     super.sublayout(displayWidth, maxHeight); 
     setExtent(displayWidth, displayHeight); 
    } 

}; 

    TwitterMainVerticalFieldManager2 myv2 = new TwitterMainVerticalFieldManager2(USE_ALL_HEIGHT | USE_ALL_WIDTH | VERTICAL_SCROLLBAR | VERTICAL_SCROLL){ 

    //override in order to set maximum height for the manager 
    protected void sublayout(int maxWidth, int maxHeight) 
    { 
     //set width 
     int displayWidth = Display.getWidth(); 
     //set height 
    //  int displayHeight = Display.getHeight() - tweetBtnManager.getHeight() - tweetBtnManager.getPaddingTop() - tweetBtnManager.getPaddingBottom() - Constants.HEADER_LOGO.getHeight(); 

     int displayHeight = Display.getHeight(); 

     super.sublayout(displayWidth, displayHeight); 
     setExtent(displayWidth, displayHeight - myv.getHeight()); 
    } 

}; 

    add(myv); 
    add(myv2); 

回答

1

此代码

add(myv); 
add(myv2); 

实际上增加了你的VFMs屏幕内部的VFM,默认情况下已经滚动。所以我怀疑你只是观察源自内屏的VFM的滚动。

要禁用屏幕的内部VFM的滚动传递相同的滚动禁用风格画面的构造函数:

// YourScreen constructor 
public YourScreen() { 
    super(NO_VERTICAL_SCROLL | NO_VERTICAL_SCROLLBAR); 
    // the rest of the code that creates/adds child fields 
}