根据屏幕大小android调整背景

时间:2012-07-02 11:28:36

标签: android

我正在使用WallpaperManager在后台显示位图。 我正在使用wallpaperManager.setBitmap(wallPaper); //壁纸当然是一个位图。

我想将此位图调整为屏幕大小并在每个虚拟屏幕中显示(重复)。

有关于此的任何提示吗?

2 个答案:

答案 0 :(得分:0)

Android开发者网站上的这篇文章显示了每种密度的屏幕分辨率范围。

我认为壁纸必须与屏幕分辨率相匹配,并且不会拉伸。例如,如果您创建一个具有高屏幕密度(如480x854)的新仿真器,则可以看到此信息。默认主屏幕背景居中,顶部和底部有大黑带。

WallpaperManager API指示您必须使用PNG或JPEG格式的图像,即使您使用setResource()方法 - 资源必须是Bitmap,因此不是9补丁或其他类型的Drawable。 / p>

答案 1 :(得分:0)

您可以检测设备的密度,然后相应地设置壁纸:

    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    switch(displayMetrics.densityDpi){ 
        case DisplayMetrics.DENSITY_LOW: 
            // Wallpaper for small sized devices.
            break; 
        case DisplayMetrics.DENSITY_MEDIUM: 
            // Wallpaper for medium-sized devices.
            break; 
        case DisplayMetrics.DENSITY_HIGH: 
            // Wallpaper for big-sized devices.
            break; 
    }