2013-10-28 53 views
0

我寫了一個應用程序,讓人們選擇一個圖像(可繪製),並在他們點擊「設置爲背景」按鈕後,所選圖像應該出現居中作爲我的背景電話。以編程方式設置背景(可繪製)不居中

以下代碼用於正常工作。圖像被放置並且居中。但對於操作系統(> api 13),它被折舊。有誰知道如何修復,以便圖像也居中(或按比例縮放以適應屏幕,如果您願意)?

我試着用「displaymetrics」或「points」替換它以獲得w或h,但它無助於將圖像居中。它是不是已經做到了的「建議DesiredDimensions」?

ResID是所需繪圖的標識符。

任何人都知道如何處理這個?謝謝!

public void setBackground(View v) 
{ 

    try { 
     // Set background from a resource 


     WallpaperManager.getInstance(this).setResource(resID); 

     WallpaperManager wm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); 

     Display display = getWindowManager().getDefaultDisplay(); 
     int w = display.getWidth(); // deprecated 
     int h = display.getHeight(); //deprecated 

     wm.suggestDesiredDimensions(w, h); 


    } 
    catch (IOException e) 
    { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 



} 

回答

0

嘗試使用display.getSize()

public void setBackground(View v){ 

try { 
    // Set background from a resource 


    WallpaperManager.getInstance(this).setResource(resID); 

    WallpaperManager wm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); 

    Display display = getWindowManager().getDefaultDisplay(); 

    Point size = new Point(); 
    display.getSize(size); 

    int w = size.x; 
    int h = size.y; 

    wm.suggestDesiredDimensions(w, h); 


} 
catch (IOException e) 
{ 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 

}

相關問題