Blackberry Scoll только браузер, а не весь макет приложения - PullRequest
0 голосов
/ 12 января 2012

У меня есть вертикальный менеджер полей с кнопками, а под ним - поле браузера. Проблема в том, что когда я прокручиваю вертикально в поле браузера, весь макет приложения прокручивается вместе с ним (!) .. Я искал как сумасшедший человек для решения, но пока ничего не нашел. Я попытался отключить вертикальную прокрутку в приложении, но это привело только к невозможности прокрутки поля браузера / домашней страницы.

Есть предложения?

Спасибо

Ответы [ 2 ]

1 голос
/ 12 января 2012

Надеюсь, этот код поможет вам: попробуйте это;

public class NewsBrowserScreen extends MainScreen implements FieldChangeListener
{   
String url="http://www.google.com/news/";
VerticalFieldManager vertical;  
BrowserField browserField;
ButtonField click;

public NewsBrowserScreen() 
{           
    createGUI();
}
private void createGUI()    
{   
    click=new ButtonField("Click",Field.FIELD_HCENTER);
    click.setChangeListener(this);      
    add(click);

    vertical=new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLLBAR|HORIZONTAL_SCROLL|HORIZONTAL_SCROLLBAR)
    {
        protected void sublayout(int maxWidth, int maxHeight) 
        {
            super.sublayout(Display.getWidth(),250);
            setExtent(Display.getWidth(),250);
        }
    };          
    vertical.setBackground(BackgroundFactory.createSolidBackground(Color.GREEN));
    vertical.setPadding(10, 0, 10, 0);
    add(vertical);      
}

protected boolean onSavePrompt()
{       
    return true;
}

public boolean onMenu(int instance) 
{
    return true;
}

public void fieldChanged(Field field, int context)
{
    if(field==click)
    {
        browserField=new BrowserField();        
        vertical.add(browserField);
        browserField.requestContent(url);
    }
}   
}

Я получаю, как показано ниже Изображение;

Google News

1 голос
/ 12 января 2012

Вы можете добавить VerticalFieldManager к вашему MainScreen и добавить BrowserField к своему VerticalFieldManager. Вы должны установить стиль VerticalFieldManager с VERTICAL_SCROLL | VERTICAL_SCROLLBAR и очистить стиль вашего MainScreen

...