2014-09-10 1 views
1

У меня есть следующий код на стороне сервера на странице верхнего уровня, чтобы установить фоновое изображение для всех страниц приложения.Масштабировать фоновое изображение во время вращения экрана в android с помощью Tabris

@Override 
public void createContent(final Composite parent, final PageData oData) { 
    Image bg = ResourceManager.getImage(LnfSettings.IMAGE_PAGE_BACKGROUND); 

    Composite comp = parent.getParent(); 
    int width = comp.getDisplay().getClientArea().width; 
    int height = comp.getDisplay().getClientArea().height; 

    comp.setBackgroundImage(new Image(bg.getDevice(), bg.getImageData().scaledTo(
        width, height))); 

    ... more code here to create layout and contents 
} 

Над кодом правильно устанавливает фон для всех страниц, а также масштабированное изображение в соответствии с различными размерами экрана. Но если я поворачиваю экран, изображение не масштабируется в соответствии с новым размером экрана. Как справиться с этой проблемой? Я использую Tabris 1.4.

ответ

1

Вы можете добавить изменения размера слушателя в свой композит, как это:

comp.addListener(SWT.Resize, listenerComp); 

Listener listenerComp = new Listener() { 
    @Override 
    public void handleEvent(Event event) { 
     ... 
    } 
}; 

Просто получить, что вы кэшировать масштабируемые изображения, так что вы не масштабировать и создавать новые изображения на каждом обороте.