android4.0 壁纸 缩放,android动态壁纸缩放

好吧,嗯,我只能说“欢迎来到现实世界”。您可以通过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,依此类推。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值