是否可以设置壁纸就像使用Android附带的应用程序一样?
作者:互联网
Android有办法设置主屏幕壁纸.用户点击“菜单”,然后选择“壁纸”以从系统设置壁纸.生成的壁纸图像在纵向和横向模式下都可以正确缩放.
我做了一个小应用程序,允许更改主屏幕壁纸.它工作正常,但我不知道在将图像设置为壁纸后,将图像设置为正确的大小是什么秘诀.
我用1280×1084的png图像做了这个,并尝试使用320×240的图像同样的东西,并且当设置为主屏幕壁纸时它们都显示相同的大小.
我找了关于如何像他们一样设置壁纸的教程和示例,但无法找到如何做到这一点.你能告诉我一个代码示例,告诉我这个秘密,以便生成的壁纸正确缩放吗?
我确定必须使用某种WallpaperManager设置,但我不知道使用哪种设置.
提前致谢.
这是我用来设置壁纸的代码:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(getApplicationContext());
try {
myWallpaperManager.setResource(R.drawable.kabanight1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
诚然,
伊马德
解决方法:
我只是看着这个.虽然您可以从Launcher .apk中的壁纸图像中观察实际文件大小,但更好的方法是查询WallpaperManager以获得所需的大小(与方向无关).
final WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
final int fullWidth = wallpaperManager.getDesiredMinimumWidth();
final int fullHeight = wallpaperManager.getDesiredMinimumHeight();
此时,我创建了一个确切所需大小的新位图,并将自己的位图写入其中.棘手的部分是计算填充和缩放,以及计算状态栏.但是,一旦你将这个尺寸合适的图像写成壁纸,它就应该像系统壁纸一样工作.
现在的缺点 – 图像(尺寸大于屏幕)可以正确缩放,但您会注意到它的裁剪方式会有所不同.
我想你需要一个动态壁纸,如果你想根据方向调整图像大小(最大化图像的大小,但不要裁剪它).
标签:android,size,scaling,wallpaper,homescreen 来源: https://codeday.me/bug/20190630/1336850.html