我正在开发一个应用程序,其中设备的墙纸图像应在固定的时间间隔改变壁纸图像。我已将图像保存在可绘制文件夹中。我正在使用WallpaperManager将这些图像设置为壁纸。如何扩展基于设备类型
为了保证应用效果很好在各种设备上,我在想在res目录绘制小,绘制,XLARGE文件夹不同的文件夹保持不同大小图像的多个副本。但是,这些不能在每个设备上正确缩放。
我的问题是我怎么保证壁纸图片很好地适应每个设备上。我需要以编程方式进行吗?任何示例代码都会有巨大的帮助。谢谢。
这是我已经使用
Drawable drawable;
WallpaperManager wpm;
@Override
public void onCreate() {
super.onCreate();
wpm=WallpaperManager.getInstance(WallAlarm.this);
drawable = getResources().getDrawable(R.drawable.two);
}
Bitmap wallpaper=((BitmapDrawable)drawable).getBitmap();
ImageView iv=new ImageView(this);
iv.setImageDrawable(drawable);
iv.setScaleType(ScaleType.FIT_XY);
try {
wpm.setBitmap(wallpaper);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Thanks..I我试图使用display.getHeight()。但不知何故,图像不断在较小的设备上裁剪。另外,我不确定如何通过可绘制的图像文件为壁纸图像使用scaleType选项。请帮助。 – ambit 2012-03-30 11:42:35
你的壁纸图像是一个ImageView?所以你可以做这样的事情: iv.setImageBitmap(位); (或iv.setImageDrawable)\t \t \t iv.setScaleType(ScaleType.FIT_CENTER); – 2012-03-30 12:22:45
再次感谢。我尝试在我的代码中使用imageview。但我仍然不确定如何将imageview与我的壁纸关联起来。我编辑了我的原始问题并添加了一些代码。请尽可能通过它并帮助我。对不起,Android有点新,所以有点困惑。 – ambit 2012-03-30 13:45:09