我正在学习如何制作动态壁纸,但是我有一个困境,我敢肯定所有刚开始的人也都有。
分辨率屏幕的尺寸太多了,如何仅用一套代码就所有版本的代码进行缩放?我知道它已经完成了,因为我在很多APK中都看到了APK中的图像,并对其进行了缩放。
如果只是一幅图像,不需要任何简单的定位,但是我的问题是我必须重新调整背景图像的大小以适合所有设备,那么我的动画也适合该背景上某个x和y位置图像就位,因此看起来好像整个背景都在动画中,但是只有一部分是动态的(我的方式是远离300张逐帧动态壁纸的图像)。
因此,背景图像需要重新缩放,动画也需要重新缩放到与背景图像完全相同的百分比,并且它们必须位于特定的x和y位置。
任何帮助将不胜感激,所以我可以做到这一点。
我累了几件事,以为我可以为所有示例做一个洁牙机:int scaler; 然后在onSurfaceChanged scaler = width / 1024; //如果较大的图像是1024,那么我可以在任何地方使用它。然后使用scaleBitmap通过将缩放器乘以图像的高度和宽度相应地缩放,并且还使用相同的缩放器来定位示例图像x假设其值为50,并使用相同的东西对其进行缩放x =缩放器* 50; 下一章将讲解如何缩放和定位,只是如何将所有这些内容翻译成java,因为我是java的新手,所以我曾经为Flash和php编程,但这有很大的不同,需要一些时间来适应。接下来的事情是如何平移宽度,当您左右移动屏幕时,如何显示图像是我想出的下一个难题。现在,即使宽度是表面显示的两倍,它仍然显示相同的宽度。如果您有答案或在某个地方,我可以找到有关该信息的信息,将不胜感激。
好吧,嗯,我只能说“欢迎来到现实世界”。您可以通过onSurfaceChanged将屏幕尺寸传递给您,是的,确定如何根据此数据缩放所有内容是您的工作。这就是为什么他们付给我们大笔钱的原因。:-)您将要确保您的资源足够大以适合您打算支持的最大显示,因此您将始终在缩小内容(与扩大内容相比,失真程度要小得多)。
建议从此处“屏幕独立性最佳做法”开始:http : //developer.android.com/guide/practices/screens_support.html
您有其他评论以寻求更多帮助…
您不能(不必要)仅使用宽度缩放图稿,因为您需要支持多个宽高比。如果屏幕比例与您的图稿不匹配,则必须决定是否要扭曲图稿,留出空白等。
我不确定如何解释围绕屏幕尺寸传递的麻烦。我们大多数人将所有活动代码放在单个引擎类中,因此我们的方法可以通过私有变量共享数据。例如,在SDK的Cube墙纸中,onSurfaceChanged()设置mCenterX,以便以后在drawCube()中使用。我建议从类似的简单方法开始。
处理滚动需要一些“智能”,并且需要仔细评估通过onOffsetsChanged()接收到的数据。xStep指示启动器支持多少个屏幕。通常,xStep为0.25,表示5个屏幕(即xOffset = 0、0.25、0.5、0.75或1),但它可以是0到1之间的任何值;0.5表示3个屏幕。xPixels可以指示启动器根据您所处的屏幕“想要”多少偏移图像;通常您应该尊重这一点。在我的手机上,启动器“希望”虚拟壁纸的像素是物理屏幕像素的两倍,因此每次滚动都只能使屏幕上像素移动四分之一。所有这些以及更多内容记录在http://developer.android.com/reference/android/app/WallpaperManager.html中 这不是“简单”的编码-应用比墙纸更容易。:-)
祝你好运…乔治
PS我将再介绍一件事:您可能想检索启动器所需墙纸的“所需最小宽度”,因此您可以显式理解xPixels中隐含的虚拟化。例如,在我的引擎构造函数中,
mContext = getApplicationContext();
mWM = WallpaperManager.getInstance(mContext);
mDW = mWM.getDesiredMinimumWidth();
我的设备有320像素的宽度;我得到mDW = 640; 当我从一个屏幕滚动到另一个屏幕时,xPixels每次都会改变80 …因为四个滚动(跨越五个屏幕)应该使所显示的图稿数量翻倍(这种效果称为“视差滚动”)。最右边的部分的xPixels等于0;(五个)中心部分的xPixels = -160,依此类推。
爱壁纸HD是最专业的桌面高清壁纸软件,提供万款优质高清壁纸,具有试试手气、按颜色筛选壁纸以及定时切换壁纸功能等功能,充分满足了壁纸达人需求。爱壁纸HD Linux 版能够自动适配屏幕分辨率,希望我们的应用能让您喜欢,快来装扮您的 Linux 桌面吧。 爱壁纸HD Linux版采用 Python 开发。
写了个利用微软必应做的壁纸软件,欢迎大家下载使用,可运行在windows和linux上面。 视频演示:http://www.tudou.com/programs/view/pJD52De0PM4/ 每天盯着相同的桌面壁纸总让人感到疲倦和乏味,何不让桌面壁纸自动更换呢? 让“必应好壁纸”为你的桌面注入新的活力吧! 必应好壁纸每天都会为你更新来自微软必应搜索的高品质壁纸! 换一张壁纸,换一种心情!
引用脚本的内容: /*更改壁纸 by Ansifa*/ Name "更改壁纸" OutFile "更改壁纸.exe" Caption "更改壁纸" SetCompressor /FINAL /SOLID lzma !include UsefulLib.nsh page instfiles Var HWND Section ${GetWallpaper} "$r0" ;获得当前壁纸路径 ${Get
主要内容:本节引言:,1.WallpaperManager的基本用法,2.调用系统自带的壁纸选择功能,3.将Activity的背景设置为壁纸背景,4.定时换壁纸的Demo,5.本节示例代码下载,本节小结:本节引言: 本节给大家带来的是WallpaperManager(壁纸管理器),如其名,就是手机壁纸相关的 一个API,在本节中我们会描述下WallpaperManager的基本用法,调用系统自带的 壁纸选择功能,将Activity的背景设置为壁纸背景,以及写一个定时换壁纸的例子~ 好了,不BB,
本文向大家介绍Android实现手机壁纸改变的方法,包括了Android实现手机壁纸改变的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现手机壁纸改变的方法。分享给大家供大家参考。具体如下: main.xml布局文件: 清单文件: WallAdapter自定义适配器: WallActivity类: 运行结果: 希望本文所述对大家的Android程序设计有所帮助。
本文向大家介绍Python 下载Bing壁纸的示例,包括了Python 下载Bing壁纸的示例的使用技巧和注意事项,需要的朋友参考一下 这个示例使用的Python版本为3.7版本, 一、bing壁纸接口 访问bing的官网,通过浏览器开发者工具,查看网络可以找到一个请求壁纸的接口,至于怎么判断的,我是发现当我把鼠标放在切换壁纸的左右箭头时,发现发送了一个请求,查看请求里面是有当前的壁纸信息的,链接