我写了一个应用程序,让人们选择一个图像(可绘制),在他们点击“设置为背景”按钮后,所选图像应显示为居中作为我的手机背景。
以下代码用于正常工作。放置图像并居中。但对于操作系统(> api 13),它是折旧的。有没有人知道如何修复,以便图像也居中(或根据需要缩放以适应屏幕)?
我尝试将其替换为“displaymetrics”或“points”以获得w或h,但它无助于图像居中。它是“suggestDesiredDimensions”不再这样做了吗?
ResID是所需drawable的标识符。
任何人都知道如何处理这个问题?谢谢!
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 :(得分: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();
}
}