开发动态壁纸并在HTC Desire HD上进行测试时,它有7个主屏幕(意味着你可以从主屏幕向左滚动3次,从主屏幕向右滚动3次),我想知道是否这适用于那里的每个Android设备吗?
如果没有,我该如何访问此主屏幕计数?
答案 0 :(得分:4)
我有一个解决方法。当您开发动态壁纸时,在您自己的WallpaperService
课程中,您可以覆盖此方法:public void onOffsetsChanged(float xOffset, float yOffset,float xOffsetStep, float yOffsetStep, int xPixelOffset,int yPixelOffset)
。
当您滑动并拖动主屏幕时,系统将调用此方法。通过这种方法,您可以知道有多少个主屏幕,还可以识别当前主页的位置。
即,我的设备是Moto Defy,它有7个主屏幕。当我从最左边的homescrren滑到最右边时,xOffset
从0,0.16666,0.33333,0.5变为1.所以你看,两个立即xOffset
之间的差异是0.16666 = 1 / (主屏幕数-1)。这只是xOffsetStep
。
结论:主屏幕计数= 1 / xOffsetStep + 1。
我刚刚在我自己的Defy和一个模拟器(3个主屏幕)上测试了这个方法并找到了这个。 SDK文档没有详细解释此方法。请告诉我这是否适合你。感谢。
答案 1 :(得分:1)
答案 2 :(得分:0)
为了它的价值,Motoblur(Droid X / X2等)使用7个主屏幕。中心,+ 3两侧。
答案 3 :(得分:0)
Cyanogenmod 7支持可变数量的主屏幕,因此一种尺寸的屏幕数量可能与另一种尺寸不同。
ALSO 我可以随时更改数字并添加新数字,因此它并不总是恒定