是否可以设置壁纸就像使用Android附带的应用程序一样?

是否可以设置壁纸就像使用Android附带的应用程序一样?,第1张

概述Android有办法设置主屏幕壁纸.用户点击“菜单”,然后选择“壁纸”以从系统设置壁纸.生成的壁纸图像在纵向和横向模式下都可以正确缩放. 我做了一个小应用程序,允许更改主屏幕壁纸.它工作正常,但我不知道在将图像设置为壁纸后,将图像设置为正确的大小是什么秘诀. 我用1280×1084的png图像做了这个,并尝试使用320×240的图像同样的东西,并且当设置为主屏幕壁纸时它们都显示相同的大小. 我找了 Android有办法设置主屏幕壁纸.用户点击“菜单”,然后选择“壁纸”以从系统设置壁纸.生成的壁纸图像在纵向和横向模式下都可以正确缩放.

我做了一个小应用程序,允许更改主屏幕壁纸.它工作正常,但我不知道在将图像设置为壁纸后,将图像设置为正确的大小是什么秘诀.

我用1280×1084的png图像做了这个,并尝试使用320×240的图像同样的东西,并且当设置为主屏幕壁纸时它们都显示相同的大小.

我找了关于如何像他们一样设置壁纸的教程和示例,但无法找到如何做到这一点.你能告诉我一个代码示例,告诉我这个秘密,以便生成的壁纸正确缩放吗?

我确定必须使用某种WallpaperManager设置,但我不知道使用哪种设置.

提前致谢.

这是我用来设置壁纸的代码:

/** Called when the activity is first created. */@OverrIDepublic 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附带的应用程序一样?全部内容,希望文章能够帮你解决是否可以设置壁纸就像使用Android附带的应用程序一样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126948.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存