2016-02-05 91 views
2

我按如下方式將佔位符縮放爲屏幕尺寸。但是,如果首先在肖像模式下查看它,它只是拍攝屏幕,並且不以橫向模式覆蓋整個屏幕。如果第一次在橫向模式下查看,則它會比縱向模式下的屏幕尺寸大。橫向模式下URLImage的佔位符縮放問題

如何解決此問題。我在PropertyCross演示中檢查過,同樣的問題也存在。

private EncodedImage largePlaceholder; 

protected void initVars(Resources res) { 
    Image tmp = Image.createImage(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayWidth()/6 * 3, 0); 
    largePlaceholder = EncodedImage.createFromImage(tmp, false); 
} 

findMainImg(f).setIcon(URLImage.createToStorage(largePlaceholder, getMainImg + "_0_ y", getMainImg, URLImage.RESIZE_SCALE_TO_FILL)); 

更新時間:

int sizethumb = 0; 
int sizethumb1 = 0; 
if (responsesImg.size() > 0) { 

    sizethumb = largePlaceholder.getWidth(); 
    sizethumb1 = largePlaceholder.getHeight(); 
    findMainImg().setPreferredSize(new Dimension(sizethumb, sizethumb1)); 

    findMainImg(f).getAllStyles().setBgImage(URLImage.createToStorage(largePlaceholder, newsImgFilename + "_0_ y", responsesImg.get(0).get("image_url"), URLImage.RESIZE_SCALE)); 

    mainImageImgViewer = findMainImg(f).getAllStyles().getBgImage(); 
    System.out.println("beck0 " + mainImageImgViewer); //it gives null 

回答

1

我建議將其設置爲風格的BG圖像和設定的背景行爲SCALE_TO_FILLSCALE_TO_FIT

+0

感謝它的工作......但我在這裏有一個問題。我設置了bgImage,當我想要檢索bgImage(即getBgImage)時,它會給出null。這是一個錯誤?我更新了我在上面的問題中所做的工作 – beck

+0

您在此期間是否調用過setUIID或類似的東西? –

+0

不,我還沒有做到這一點 – beck

1

您正在使用的屏幕尺寸來生成圖像佔位符,並在景觀屏幕的寬度比縱向更大。

如果你想使圖像響應,你將不得不增加方向變化監聽器,如果你從人像,反之亦然未來將下載其他圖像不同尺寸的景觀。

private EncodedImage largePlaceholderPortrait; 
private EncodedImage largePlaceholderLandscape; 
private boolean isPortrait = Display.getInstance().isPortrait(); 

protected void initVars(Resources res) { 
    Image tmp = Image.createImage(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayWidth()/6 * 3, 0); 
    Image tmp2 = Image.createImage(Display.getInstance().getDisplayHeight(), Display.getInstance().getDisplayHeight()/6 * 3, 0); 
    largePlaceholderPortrait = EncodedImage.createFromImage(isPortrait ? tmp : tmp2, false); 
    largePlaceholderLandscape = EncodedImage.createFromImage(isPortrait ? tmp2 : tmp, false); 
} 

findMainImg(f).setIcon(URLImage.createToStorage(largePlaceholderPortrait, isPortrait ? getMainImg + "_0_y_portrait" : getMainImg + "_0_y_landscape", getMainImg, URLImage.RESIZE_SCALE_TO_FILL)); 


f.addOrientationListener(new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent evt) { 
     findMainImg(f).setIcon(URLImage.createToStorage(largePlaceholderPortrait, isPortrait ? getMainImg + "_0_y_portrait" : getMainImg + "_0_y_landscape", getMainImg, URLImage.RESIZE_SCALE_TO_FILL)); 
    } 
}); 

//Java 8 
f.addOrientationListener((evt) -> { 
    findMainImg(f).setIcon(URLImage.createToStorage(largePlaceholderPortrait, isPortrait ? getMainImg + "_0_y_portrait" : getMainImg + "_0_y_landscape", getMainImg, URLImage.RESIZE_SCALE_TO_FILL)); 
}); 
+0

感謝鑽石它的工作原理,但我寧願如果我不必使用2個圖像的單個佔位符。 – beck