2014-09-10 69 views
1

我在頂層頁面中有以下服務器端代碼,爲應用程序中的所有頁面設置背景圖像。使用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) { 
     ... 
    } 
}; 

剛剛得到確認您緩存您比例縮小圖像,這樣你就不能擴展和每轉創造新的圖像。